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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
<?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>