UserAuthorizationOptions Constructors
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
| Name | Description |
|---|---|
| UserAuthorizationOptions(IStorage, IConnections, IUserAuthorization[]) |
Obsolete.
|
| UserAuthorizationOptions(ILoggerFactory, IStorage, IConnections, IUserAuthorization[]) |
Create UserAuthorizationOptions programmatically. |
| UserAuthorizationOptions(IServiceProvider, ILoggerFactory, IConfiguration, IStorage, AutoSignInSelector, String) |
Creates UserAuthorizationOptions from IConfiguration and DI. |
UserAuthorizationOptions(IStorage, IConnections, IUserAuthorization[])
Caution
This constructor is deprecated. Use UserAuthorizationOptions(ILoggerFactory, IStorage, IConnections, params IUserAuthorization[])
[System.Obsolete("This constructor is deprecated. Use UserAuthorizationOptions(ILoggerFactory, IStorage, IConnections, params IUserAuthorization[])")]
public UserAuthorizationOptions(Microsoft.Agents.Storage.IStorage storage, Microsoft.Agents.Authentication.IConnections connections, params Microsoft.Agents.Builder.UserAuth.IUserAuthorization[] userAuthHandlers);
[<System.Obsolete("This constructor is deprecated. Use UserAuthorizationOptions(ILoggerFactory, IStorage, IConnections, params IUserAuthorization[])")>]
new Microsoft.Agents.Builder.App.UserAuth.UserAuthorizationOptions : Microsoft.Agents.Storage.IStorage * Microsoft.Agents.Authentication.IConnections * Microsoft.Agents.Builder.UserAuth.IUserAuthorization[] -> Microsoft.Agents.Builder.App.UserAuth.UserAuthorizationOptions
Public Sub New (storage As IStorage, connections As IConnections, ParamArray userAuthHandlers As IUserAuthorization())
Parameters
- storage
- IStorage
- connections
- IConnections
- userAuthHandlers
- IUserAuthorization[]
- Attributes
Applies to
UserAuthorizationOptions(ILoggerFactory, IStorage, IConnections, IUserAuthorization[])
Create UserAuthorizationOptions programmatically.
public UserAuthorizationOptions(Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.Agents.Storage.IStorage storage, Microsoft.Agents.Authentication.IConnections connections, params Microsoft.Agents.Builder.UserAuth.IUserAuthorization[] userAuthHandlers);
new Microsoft.Agents.Builder.App.UserAuth.UserAuthorizationOptions : Microsoft.Extensions.Logging.ILoggerFactory * Microsoft.Agents.Storage.IStorage * Microsoft.Agents.Authentication.IConnections * Microsoft.Agents.Builder.UserAuth.IUserAuthorization[] -> Microsoft.Agents.Builder.App.UserAuth.UserAuthorizationOptions
Public Sub New (loggerFactory As ILoggerFactory, storage As IStorage, connections As IConnections, ParamArray userAuthHandlers As IUserAuthorization())
Parameters
- loggerFactory
- ILoggerFactory
Typically from AgentApplicationOptions.LoggerFactory
- storage
- IStorage
The IStorage to use for UserAuthorization flow state. This can be the same storage as elsewhere.
- connections
- IConnections
- userAuthHandlers
- IUserAuthorization[]
Remarks
``` services.AddTransient<IAgent>(sp => { var connections = sp.GetService<IConnections>(); var storage = sp.GetService<IStorage>();
var options = new AgentApplicationOptions() { TurnStateFactory = () => new TurnState(storage),
UserAuthorization = new UserAuthorizationOptions(connections, new AzureBotUserAuthorization("graph", storage, connections, new OAuthSettings()) { DefaultHandlerName = "graph", AutoSignin = AutoSignInOn }; }
var app = new AgentApplication(options);
...
return app; }; ```
Applies to
UserAuthorizationOptions(IServiceProvider, ILoggerFactory, IConfiguration, IStorage, AutoSignInSelector, String)
Creates UserAuthorizationOptions from IConfiguration and DI.
public UserAuthorizationOptions(IServiceProvider sp, Microsoft.Extensions.Logging.ILoggerFactory loggerFactory, Microsoft.Extensions.Configuration.IConfiguration configuration, Microsoft.Agents.Storage.IStorage storage = default, Microsoft.Agents.Builder.App.UserAuth.AutoSignInSelector autoSignInSelector = default, string configKey = "UserAuthorization");
new Microsoft.Agents.Builder.App.UserAuth.UserAuthorizationOptions : IServiceProvider * Microsoft.Extensions.Logging.ILoggerFactory * Microsoft.Extensions.Configuration.IConfiguration * Microsoft.Agents.Storage.IStorage * Microsoft.Agents.Builder.App.UserAuth.AutoSignInSelector * string -> Microsoft.Agents.Builder.App.UserAuth.UserAuthorizationOptions
Public Sub New (sp As IServiceProvider, loggerFactory As ILoggerFactory, configuration As IConfiguration, Optional storage As IStorage = Nothing, Optional autoSignInSelector As AutoSignInSelector = Nothing, Optional configKey As String = "UserAuthorization")
Parameters
- loggerFactory
- ILoggerFactory
- configuration
- IConfiguration
- storage
- IStorage
- autoSignInSelector
- AutoSignInSelector
- configKey
- String
Remarks
``` "UserAuthorization": { "DefaultHandlerName": "graph", "AutoSignIn": true, "Handlers": { "graph": { "Settings": { // Settings are IUserAuthorization specific } } }
<p>The "AutoSignIn" property will map to <xref data-throw-if-not-resolved="true" uid="Microsoft.Agents.Builder.App.UserAuth.UserAuthorizationOptions.AutoSignInOnForAny"></xref> or <xref data-throw-if-not-resolved="true" uid="Microsoft.Agents.Builder.App.UserAuth.UserAuthorizationOptions.AutoSignInOff"></xref>. To provide a
a custom selector, DI a <xref data-throw-if-not-resolved="true" uid="Microsoft.Agents.Builder.App.UserAuth.AutoSignInSelector"></xref>.</p>
The default Handler:Settings are mapped to <xref data-throw-if-not-resolved="true" uid="Microsoft.Agents.Builder.UserAuth.TokenService.OAuthSettings"></xref>. These
setting can be included in config:
"UserAuthorization": { "Handlers": { "Settings": { "AzureBotOAuthConnectionName": "{{auzre-bot-connection-name}}", "OBOConnectionName": "{{connections-name}}", "OBOScopes": ["{{obo-scope}}"], "Title": "{{signin-card-title}}", "Text": "{{signin-card-button-text}}", "InvalidSignInRetryMax": 2, "InvalidSignInRetryMessage": "Please send code again", "Timeout": {{timeout-ms}} } } ```