本文整理匯總了C#中Thinktecture.IdentityServer.Core.Configuration.IdentityServerOptions.AdditionalIdentityProviderConfiguration方法的典型用法代碼示例。如果您正苦於以下問題:C# IdentityServerOptions.AdditionalIdentityProviderConfiguration方法的具體用法?C# IdentityServerOptions.AdditionalIdentityProviderConfiguration怎麽用?C# IdentityServerOptions.AdditionalIdentityProviderConfiguration使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Thinktecture.IdentityServer.Core.Configuration.IdentityServerOptions
的用法示例。
在下文中一共展示了IdentityServerOptions.AdditionalIdentityProviderConfiguration方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: UseIdentityServer
public static IAppBuilder UseIdentityServer(this IAppBuilder app, IdentityServerOptions options)
{
if (options == null) throw new ArgumentNullException("options");
var internalConfig = new InternalConfiguration();
if (options.DataProtector == null)
{
var provider = app.GetDataProtectionProvider();
if (provider == null)
{
provider = new DpapiDataProtectionProvider("idsrv3");
}
internalConfig.DataProtector = new HostDataProtector(provider);
}
else
{
internalConfig.DataProtector = options.DataProtector;
}
// thank you Microsoft for the clean syntax
JwtSecurityTokenHandler.InboundClaimTypeMap = ClaimMappings.None;
JwtSecurityTokenHandler.OutboundClaimTypeMap = ClaimMappings.None;
app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = Constants.PrimaryAuthenticationType, CookieName = Constants.PrimaryAuthenticationType });
app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = Constants.ExternalAuthenticationType, CookieName = Constants.ExternalAuthenticationType, AuthenticationMode = AuthenticationMode.Passive });
app.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = Constants.PartialSignInAuthenticationType, CookieName = Constants.PartialSignInAuthenticationType, AuthenticationMode = AuthenticationMode.Passive });
if (options.ConfigurePlugins != null)
{
options.ConfigurePlugins(app, options);
}
if (options.AdditionalIdentityProviderConfiguration != null)
{
options.AdditionalIdentityProviderConfiguration(app, Constants.ExternalAuthenticationType);
}
app.UseFileServer(new FileServerOptions
{
RequestPath = new PathString("/assets"),
FileSystem = new EmbeddedResourceFileSystem(typeof(Constants).Assembly, "Thinktecture.IdentityServer.Core.Assets")
});
app.UseStageMarker(PipelineStage.MapHandler);
app.UseFileServer(new FileServerOptions
{
RequestPath = new PathString("/assets/libs/fonts"),
FileSystem = new EmbeddedResourceFileSystem(typeof(Constants).Assembly, "Thinktecture.IdentityServer.Core.Assets.libs.bootstrap.fonts")
});
app.UseStageMarker(PipelineStage.MapHandler);
app.Use<AutofacContainerMiddleware>(AutofacConfig.Configure(options, internalConfig));
Microsoft.Owin.Infrastructure.SignatureConversions.AddConversions(app);
app.UseWebApi(WebApiConfig.Configure());
return app;
}
示例2: UseIdentityServer
public static IAppBuilder UseIdentityServer(this IAppBuilder app, IdentityServerOptions options)
{
if (app == null) throw new ArgumentNullException("app");
if (options == null) throw new ArgumentNullException("options");
options.Validate();
// turn off weird claim mappings for JWTs
JwtSecurityTokenHandler.InboundClaimTypeMap = ClaimMappings.None;
JwtSecurityTokenHandler.OutboundClaimTypeMap = ClaimMappings.None;
options.ProtocolLogoutUrls.Add(Constants.RoutePaths.Oidc.EndSessionCallback);
app.ConfigureDataProtectionProvider(options);
app.ConfigureIdentityServerBaseUrl(options.PublicHostName);
app.UseCors(options.CorsPolicy);
app.ConfigureCookieAuthentication(options.CookieOptions);
if (options.PluginConfiguration != null)
{
options.PluginConfiguration(app, options);
}
if (options.AdditionalIdentityProviderConfiguration != null)
{
options.AdditionalIdentityProviderConfiguration(app, Constants.ExternalAuthenticationType);
}
app.UseEmbeddedFileServer();
app.Use<AutofacContainerMiddleware>(AutofacConfig.Configure(options));
SignatureConversions.AddConversions(app);
app.UseWebApi(WebApiConfig.Configure());
return app;
}