Shared/netstandard2.0/GreyCorbel.Identity.Authentication.xml

<?xml version="1.0"?>
<doc>
    <assembly>
        <name>GreyCorbel.Identity.Authentication</name>
    </assembly>
    <members>
        <member name="T:GreyCorbel.Identity.Authentication.AadAuthenticationFactory">
            <summary>
            Main object responsible for authentication according to constructor and parameters used
            </summary>
        </member>
        <member name="P:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.TenantId">
            <summary>
            Tenant Id of AAD tenant that authenticates the user / application
            </summary>
        </member>
        <member name="P:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.ClientId">
            <summary>
            ClientId to be used for authentication flows
            </summary>
        </member>
        <member name="P:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.LoginApi">
            <summary>
            AAD authorization endpoint. Defaults to public AAD
            </summary>
        </member>
        <member name="P:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.DefaultScopes">
            <summary>
            Scopes the factory asks for when asking for tokens
            </summary>
        </member>
        <member name="P:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.UserName">
            <summary>
            UserName hint to use in authentication flows to help select proper user. Useful in case multiple accounts are logged in.
            </summary>
        </member>
        <member name="P:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.AuthenticationMode">
            <summary>
            AuthenticationMode factory uses to get tokens
            </summary>
        </member>
        <member name="F:GreyCorbel.Identity.Authentication.AadAuthenticationFactory._resourceOwnerPassword">
            <summary>
            Password for ROPC flow
            </summary>
        </member>
        <member name="F:GreyCorbel.Identity.Authentication.AadAuthenticationFactory._defaultClientId">
            <summary>
            Azure Powershell client ID
            </summary>
        </member>
        <member name="M:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.#ctor(System.String,System.String,System.String[],System.String,GreyCorbel.Identity.Authentication.AuthenticationMode,System.String,System.Net.WebProxy)">
            <summary>
            Creates factory that supports Public client flows with Interactive, DeviceCode or WIA authentication
            </summary>
            <param name="tenantId">DNS name or Id of tenant that authenticates user</param>
            <param name="clientId">ClientId to use. If not specified, clientId of Azure Powershell is used</param>
            <param name="scopes">List of scopes that clients asks for</param>
            <param name="loginApi">AAD endpoint that will handle the authentication.</param>
            <param name="authenticationMode">Type of public client flow to use. Supported flows as Interactive, DeviceCode and WIA</param>
            <param name="userNameHint">Which username to use in auth UI in case there may be multiple names available</param>
            <param name="proxy">Optional configuration of proxy for internet access</param>
        </member>
        <member name="M:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.Create(System.String,System.String,System.String[],System.String,GreyCorbel.Identity.Authentication.AuthenticationMode,System.String,System.Net.WebProxy)">
            <summary>
            Static method that creates factory for Public client flows with Interactive, DeviceCode or WIA authentication
            </summary>
            <param name="tenantId">DNS name or Id of tenant that authenticates user</param>
            <param name="clientId">ClientId to use. If not specified, clientId of Azure Powershell is used</param>
            <param name="scopes">List of scopes that clients asks for</param>
            <param name="loginApi">AAD endpoint that will handle the authentication.</param>
            <param name="authenticationMode">Type of public client flow to use. Supported flows as Interactive, DeviceCode and WIA</param>
            <param name="userNameHint">Which username to use in auth UI in case there may be multiple names available</param>
            <param name="proxy">Optional configuration of proxy for internet access</param>
        </member>
        <member name="M:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.#ctor(System.String,System.String,System.String,System.String[],System.String,System.Net.WebProxy)">
            <summary>
            Creates factory that supports Confidential client flows via MSAL with ClientSecret authentication
            </summary>
            <param name="tenantId">DNS name or Id of tenant that authenticates user</param>
            <param name="clientId">ClientId to use</param>
            <param name="scopes">List of scopes that clients asks for</param>
            <param name="loginApi">AAD endpoint that will handle the authentication.</param>
            <param name="clientSecret">Client secret to be used</param>
            <param name="proxy">Optional configuration of proxy for internet access</param>
        </member>
        <member name="M:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.#ctor(System.String,System.String,System.Security.Cryptography.X509Certificates.X509Certificate2,System.String[],System.String,System.Net.WebProxy)">
            <summary>
            Creates factory for Confidential client authentication flow via MSAL and X509 certificate
            </summary>
            <param name="tenantId">Dns domain name or tenant guid</param>
            <param name="clientId">Client id that represents application asking for token</param>
            <param name="clientCertificate">X509 certificate with private key. Public part of certificate is expected to be registered with app registration for given client id in AAD.</param>
            <param name="scopes">Scopes application asks for</param>
            <param name="loginApi">AAD endpoint URL for special instance of AAD (/e.g. US Gov)</param>
            <param name="proxy">Optional configuration of proxy for internet access</param>
        </member>
        <member name="M:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.#ctor(System.String,System.String[],System.Net.WebProxy)">
            <summary>
            Creates factory that supports System-assigned identity or Arc-enabled server identity (clientId passed is null)
            or User-assigned identity (clientId parameter represents user assigned identity) authentication
            </summary>
            <param name="clientId">AppId of User Assigned Identity or null (which means to use System Assigned Identity or Arc-enabled server identity)</param>
            <param name="scopes">Required scopes to obtain. Currently obtains all assigned scopes for first resource in the array.</param>
            <param name="proxy">Optional configuration of proxy for internet access</param>
        </member>
        <member name="M:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.#ctor(System.String,System.String,System.String[],System.String,System.Security.SecureString,System.String,System.Net.WebProxy)">
            <summary>
            Creates factory that supports Public client ROPC flow
            </summary>
            <param name="tenantId">DNS name or Id of tenant that authenticates user</param>
            <param name="clientId">ClientId to use</param>
            <param name="scopes">List of scopes that clients asks for</param>
            <param name="loginApi">AAD endpoint that will handle the authentication.</param>
            <param name="userName">Resource owner username</param>
            <param name="password">Resource owner password</param>
            <param name="proxy">Optional configuration of proxy for internet access</param>
        </member>
        <member name="M:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.Create(System.String,System.String[],System.Net.WebProxy)">
            <summary>
            Creates factory that supports System-assigned identity or Arc-enabled server identity (clientId passed is null)
            or User-assigned identity (clientId parameter represents user assigned identity) authentication
            </summary>
            <param name="clientId">AppId of User Assigned Identity or null (which means to use System Assigned Identity or Arc-enabled server identity)</param>
            <param name="scopes">Required scopes to obtain. Currently obtains all assigned scopes for first resource in the array.</param>
            <param name="proxy">Optional configuration of proxy for internet access</param>
        </member>
        <member name="M:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.Create(System.String,System.String,System.String[],System.String,System.Security.SecureString,System.String,System.Net.WebProxy)">
            <summary>
            Creates factory that supporrts Public client ROPC flow
            </summary>
            <param name="tenantId">DNS name or Id of tenant that authenticates user</param>
            <param name="clientId">ClientId to use</param>
            <param name="scopes">List of scopes that clients asks for</param>
            <param name="loginApi">AAD endpoint that will handle the authentication.</param>
            <param name="userName">Resource owner username</param>
            <param name="password">Resource owner password</param>
            <param name="proxy">Optional configuration of proxy for internet access</param>
        </member>
        <member name="M:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.Create(System.String,System.String,System.Security.Cryptography.X509Certificates.X509Certificate2,System.String[],System.String,System.Net.WebProxy)">
            <summary>
            Static method that creates factory for Confidential client authentication flow via MSAL and X509 certificate
            </summary>
            <param name="tenantId">Dns domain name or tenant guid</param>
            <param name="clientId">Client id that represents application asking for token</param>
            <param name="clientCertificate">X509 certificate with private key. Public part of certificate is expected to be registered with app registration for given client id in AAD.</param>
            <param name="scopes">Scopes application asks for</param>
            <param name="loginApi">AAD endpoint URL for special instance of AAD (/e.g. US Gov)</param>
            <param name="proxy">Optional configuration of proxy for internet access</param>
        </member>
        <member name="M:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.Create(System.String,System.String,System.String,System.String[],System.String,System.Net.WebProxy)">
            <summary>
            Static method that creates factory that supports Confidential client flows via MSAL with ClientSecret authentication
            </summary>
            <param name="tenantId">DNS name or Id of tenant that authenticates user</param>
            <param name="clientId">ClientId to use</param>
            <param name="scopes">List of scopes that clients asks for</param>
            <param name="loginApi">AAD endpoint that will handle the authentication.</param>
            <param name="clientSecret">Client secret to be used</param>
            <param name="proxy">Optional configuration of proxy for internet access</param>
        </member>
        <member name="M:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.AuthenticateAsync(System.String,System.String[],System.Threading.CancellationToken)">
            <summary>
            Returns authentication result for on-behalf-of flow
            Microsoft says we should not instantiate directly - but how to achieve unified experience of caller without being able to return it?
            </summary>
            <param name="jwtBearerToken">Access token for user to be used as an assertion for on-behal-of flow</param>
            <param name="cancellationToken">Cancellation token.</param>
            <param name="requiredScopes">Scopes to ask for</param>
            <returns cref="T:Microsoft.Identity.Client.AuthenticationResult">Authentication result object either returned MSAL library</returns>
            <exception cref="T:System.ArgumentException">Throws if unsupported authentication mode or flow detected</exception>
        </member>
        <member name="M:GreyCorbel.Identity.Authentication.AadAuthenticationFactory.AuthenticateAsync(System.String[],System.Threading.CancellationToken)">
            <summary>
            Returns authentication result
            Microsoft says we should not instantiate directly - but how to achieve unified experience of caller without being able to create and return it?
            </summary>
            <param name="requiredScopes">Scopes to ask for and if different than passed to factory constructor.</param>
            <param name="cancellationToken">Cancellation token.</param>
            <returns cref="T:Microsoft.Identity.Client.AuthenticationResult">Authentication result object either returned fropm MSAL libraries, or - for ManagedIdentity - constructed from Managed Identity endpoint response</returns>
            <exception cref="T:System.ArgumentException">Throws if unsupported authentication mode or flow detected</exception>
        </member>
        <member name="T:GreyCorbel.Identity.Authentication.AuthenticationMode">
            <summary>
            Public client supported authentication flows
            </summary>
        </member>
        <member name="F:GreyCorbel.Identity.Authentication.AuthenticationMode.Interactive">
            <summary>
            Interactive flow with webview or browser
            </summary>
        </member>
        <member name="F:GreyCorbel.Identity.Authentication.AuthenticationMode.DeviceCode">
            <summary>
            DeviceCode flow with authentication performed with code on different device
            </summary>
        </member>
        <member name="F:GreyCorbel.Identity.Authentication.AuthenticationMode.WIA">
            <summary>
            Windows Integrated Authentication - supported on machines joined to AD, or hybrid joined, and authenticating with ADFS
            </summary>
        </member>
        <member name="F:GreyCorbel.Identity.Authentication.AuthenticationMode.Silent">
            <summary>
            Non-interactive flow - login process does not require UI
            </summary>
        </member>
        <member name="T:GreyCorbel.Identity.Authentication.AuthenticationFlow">
            <summary>
            Type of client we use for auth
            </summary>
        </member>
        <member name="F:GreyCorbel.Identity.Authentication.AuthenticationFlow.PublicClient">
            <summary>
            Public client with browser based auth
            </summary>
        </member>
        <member name="F:GreyCorbel.Identity.Authentication.AuthenticationFlow.PublicClientWithDeviceCode">
            <summary>
            Public client with console based auth
            </summary>
        </member>
        <member name="F:GreyCorbel.Identity.Authentication.AuthenticationFlow.PublicClientWithWia">
            <summary>
            Public client with Windows Integrated auth
            </summary>
        </member>
        <member name="F:GreyCorbel.Identity.Authentication.AuthenticationFlow.ConfidentialClient">
            <summary>
            Confidential client with client secret or certificate
            </summary>
        </member>
        <member name="F:GreyCorbel.Identity.Authentication.AuthenticationFlow.ManagedIdentity">
            <summary>
            Confidential client with System-assigned Managed identity or Arc-enabled server
            </summary>
        </member>
        <member name="F:GreyCorbel.Identity.Authentication.AuthenticationFlow.UserAssignedIdentity">
            <summary>
            Confidential client with User-assigned Managed identity
            </summary>
        </member>
        <member name="F:GreyCorbel.Identity.Authentication.AuthenticationFlow.ResourceOwnerPassword">
            <summary>
            Unattended Resource Owner auth with username and password
            </summary>
        </member>
    </members>
</doc>