From d7ec1ed8c379839a580b0e2920953bba283ca577 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Mon, 14 Jun 2021 16:34:04 +0300 Subject: [PATCH] Improvements for the account module documentation --- docs/en/Modules/Account.md | 52 +++++++++++++++--- docs/en/Modules/Tenant-Management.md | 2 +- .../images/account-module-forgot-password.png | Bin 0 -> 12926 bytes docs/en/images/account-module-login.png | Bin 0 -> 10767 bytes .../images/account-module-manage-account.png | Bin 0 -> 20471 bytes docs/en/images/account-module-register.png | Bin 0 -> 11044 bytes 6 files changed, 46 insertions(+), 8 deletions(-) create mode 100644 docs/en/images/account-module-forgot-password.png create mode 100644 docs/en/images/account-module-login.png create mode 100644 docs/en/images/account-module-manage-account.png create mode 100644 docs/en/images/account-module-register.png diff --git a/docs/en/Modules/Account.md b/docs/en/Modules/Account.md index 94cdb7af95..72f6f55c0e 100644 --- a/docs/en/Modules/Account.md +++ b/docs/en/Modules/Account.md @@ -1,12 +1,54 @@ # Account Module -This module provides necessary UI pages/components to make the user login and register to the application. +Account module implements the basic authentication features like **login**, **register**, **forgot password** and **account management**. -> This document is incomplete. +This module is based on [Microsoft's Identity library](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/identity) and the [Identity Module](Identity.md). It has [IdentityServer](https://github.com/IdentityServer) integration (based on the [IdentityServer Module](IdentityServer.md)) to provide **single sign-on**, access control and other advanced authentication features. + +## How to Install + +This module comes as pre-installed (as NuGet/NPM packages) when you [create a new solution](https://abp.io/get-started) with the ABP Framework. You can continue to use it as package and get updates easily, or you can include its source code into your solution (see `get-source` [CLI](../CLI.md) command) to develop your custom module. + +### The Source Code + +The source code of this module can be accessed [here](https://github.com/abpframework/abp/tree/dev/modules/account). The source code is licensed with [MIT](https://choosealicense.com/licenses/mit/), so you can freely use and customize it. + +## User Interface + +This section introduces the main pages provided by this module. + +### Login + +`/Account/Login` page provides the login functionality. + +![account-module-login](../images/account-module-login.png) + +Social/external login buttons becomes visible if you setup it. See the *Social/External Logins* section below. Register and Forgot password and links redirect to the pages explained in the next sections. + +### Register + +`/Account/Register` page provides the new user registration functionality. + +![account-module-register](../images/account-module-register.png) + +### Forgot Password & Reset Password + +`/Account/ForgotPassword` page provides a way of sending password reset link to user's email address. The user then clicks to the link and determines a new password. + +![account-module-forgot-password](../images/account-module-forgot-password.png) + +### Account Management + +`/Account/Manage` page is used to change password and personal information of the user. + +![account-module-manage-account](../images/account-module-manage-account.png) + +## IdentityServer Integration + +[Volo.Abp.Account.Web.IdentityServer](https://www.nuget.org/packages/Volo.Abp.Account.Web.IdentityServer) package provides integration for the [IdentityServer](https://github.com/IdentityServer). This package comes as installed with the [application startup template](../Startup-Templates/Application.md). See the [IdentityServer Module](IdentityServer.md) documentation. ## Social/External Logins -The [Account Module](../Modules/Account.md) has already configured to handle social or external logins out of the box. You can follow the ASP.NET Core documentation to add a social/external login provider to your application. +The Account Module has already configured to handle social or external logins out of the box. You can follow the ASP.NET Core documentation to add a social/external login provider to your application. ### Example: Facebook Authentication @@ -32,7 +74,3 @@ context.Services.AddAuthentication() ```` > It would be a better practice to use the `appsettings.json` or the ASP.NET Core User Secrets system to store your credentials, instead of a hard-coded value like that. Follow the [Microsoft's document](https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/facebook-logins) to learn the user secrets usage. - -### Other UI Types - -Beginning from the v3.1, the [Angular UI](../UI/Angular/Quick-Start.md) uses authorization code flow (as a best practice) to authenticate the user by redirecting to the MVC UI login page. So, even if you are using the Angular UI, social/external login integration is same as explained above and it will work out of the box. As similar, The [Blazor UI](../UI/Blazor/Overall.md) also uses the MVC UI to logic. \ No newline at end of file diff --git a/docs/en/Modules/Tenant-Management.md b/docs/en/Modules/Tenant-Management.md index dca6ea3d1e..e12b6fc7a6 100644 --- a/docs/en/Modules/Tenant-Management.md +++ b/docs/en/Modules/Tenant-Management.md @@ -12,7 +12,7 @@ The [SaaS Module](https://commercial.abp.io/modules/Volo.Saas) is an alternative ## How to Install -This module comes as pre-installed (as [NuGet/NPM packages](NuGet/NPM packages)) when you [create a new solution](https://abp.io/get-started) with the ABP Framework. You can continue to use it as package and get updates easily, or you can include its source code into your solution (see `get-source` [CLI](../CLI.md) command) to develop your custom module. +This module comes as pre-installed (as NuGet/NPM packages) when you [create a new solution](https://abp.io/get-started) with the ABP Framework. You can continue to use it as package and get updates easily, or you can include its source code into your solution (see `get-source` [CLI](../CLI.md) command) to develop your custom module. ### The Source Code diff --git a/docs/en/images/account-module-forgot-password.png b/docs/en/images/account-module-forgot-password.png new file mode 100644 index 0000000000000000000000000000000000000000..92fce47a228001a531a60a0cd22e6628aa21a99b GIT binary patch literal 12926 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 L6)DIEo7)~uB`D`%g5_TDG&-p~6!&)(6Gbst_} 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