## Universal Authentication Mechanism CabloyJS completely separates the `user system` from the `identity authentication system`, which has the following advantages: 1. Support many authentication mechanisms: `username/password` authentication, `mobile` authentication, and `third-party` authentication (GitHub, wechat), etc. 2. The `login page` can be completely customized and various authentication mechanisms can be freely combined 3. Users are free to add different authentication mechanisms or delete them > For example, `user a` first registers his identity through `username/password`, and then adds `GitHub` authentication > For example, `user b` first registers his identity through `GitHub`, and then adds `username/password` authentication ## How to use ### 1. System Configuration The system administrator enters the page `Settings/Basic Admin/Auth Management` from the home page, which lists all currently installed `authentication providers` ![1](https://portal.cabloy.com/api/a/file/file/download/0218d236186e4bd28cae6ebcf5dc30aa.png) #### 1.1 Enable/Disable You can `Enable` or `Disable` an `authentication provider` ![2](https://portal.cabloy.com/api/a/file/file/download/09bf6414b26f4e7baeff3024c3c57c26.png) #### 1.2 Authentication Parameters You can set configuration parameters for each authentication provider > Click `Reload Instance` to make the new authentication parameters take effect > See also: [Override Module Config (by Instance)](https://cabloy.com/articles/config.html#Override_Module_Config_by_Instance_166) ![3](https://portal.cabloy.com/api/a/file/file/download/541b57c10ea841679c50bcbf386601ac.png) |Name|Desription| |--|--| |a-authgithub|Module Name| |clientID|clientID of third party authentication| |clientSecret|clientSecret of third party authentication| ### 2. User Configuration The user can use any `authentication provider` to complete the first identity registration, then add or remove other authentication providers at any time The user enters the page `Mime/Mime/Authentications` and clicks `Enable` or `Disable` ![4](https://portal.cabloy.com/api/a/file/file/download/a9c792c05b5d4336b8f653a33ea59dbe.png)