!!Enterprise Licenses Only\\
This plugin allows you to delegate access of OAuth providers.\\
Currently only __Google Sign__ in is supported.\\
\\
!!1. Google Sign-In\\
\\
You will start at the API credentials manager:\\
[https://console.developers.google.com/projectselector/apis/credentials]\\
\\
You first need to make a project.  My example calls this CrushFTP-Test.\\
[attachments|gDriveSetup/create_project.png]\\
\\
Next select create credentials, and choose the Web Application type.\\
[attachments|gDriveSetup/create_credentials.png]\\
\\
[attachments|gDriveSetup/oauth_consent.png]\\
\\
When configuring the credential, you have to tell Google the domain you will be originating from when creating the auth token, so this is the URL you use for server administration.  Just the protocol://dns_or_ip:port   Don't have a trailing slash or it will complain.\\
You also need to put in the redirect URL of where Google is going to send back the Id token (Id Token : That will be used for authentication of the google user). Copy the Client ID that will be required to integrate the Google Sing-In Button.\\
\\
__Integrate Google Sign-In button__\\
\\
[attachments|gsign_in_button.png]\\
\\
Go to the __Preferences-> Ip/Servers__ and select the __HTTP__ or __HTTPS__ port item where you want to enable the Google Sing-In button. Check the __"OAuth Sign in"__ flag and provide the __Client ID__ of you Google project(mentioned above).\\
\\
[attachments|port_item_settings.png]\\
\\
!!2. Microsoft Sign-In\\
\\
It requires Microsoft Graph Application registration. Start at the Microsoft azure portal:\\
[https://azure.microsoft.com/en-us/features/azure-portal/]\\
\\
__Application registration__: Go to the App registrations and click on New registration:\\
\\
[attachments|SMTP Microsoft Graph XOAUTH 2 Integration/new_registration.png]\\
\\
Name it. Select __Single-page Application__ as platform. The redirect url must ends with :__WebInterface/login.html__. Then click on register.\\
\\
[CrushOAuth/app_reg_config.png]\\
\\
!__Plugin Settings__\\
\\

__1.__ Username matching -> It filters the OAuth user name (Google Auth: email address, Microsoft Auth: user principle name). You can put multiple value separated by comma. Domain filter is allowed to (like *mydomain.com).\\
\\
__2.__ Allowed authentication types\\
\\
__3.__ OAuth only used for Authentication (User manager then defines user's access.) -> If the users already exists with username of the OAuth, you can use the plugin just for authentication.\\
\\
__4.__ Template Username -> The signed in user inherits no just the settings, but the VFS items too (as Linked VFS).\\
\\
Import settings from CrushFTP user -> The signed in user inherits just the settings from this user.\\
\\
__5.__ VFS related settings : You can also assign a VFS item for the signed in user.\\
\\
[attachments|plugin_settings.png]\\
\\