本文整理汇总了C#中IAppBuilder.UseClaimsTransformation方法的典型用法代码示例。如果您正苦于以下问题:C# IAppBuilder.UseClaimsTransformation方法的具体用法?C# IAppBuilder.UseClaimsTransformation怎么用?C# IAppBuilder.UseClaimsTransformation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IAppBuilder
的用法示例。
在下文中一共展示了IAppBuilder.UseClaimsTransformation方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Configuration
public void Configuration(IAppBuilder app)
{
// token validation
app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
{
Authority = Constants.IdentityServerUri,
RequiredScopes = new[] { "apiAccess" }
});
// add app local claims per request
app.UseClaimsTransformation(incoming =>
{
// either add claims to incoming, or create new principal
var appPrincipal = new ClaimsPrincipal(incoming);
incoming.Identities.First().AddClaim(new Claim("appSpecific", "some_value"));
return Task.FromResult(appPrincipal);
});
app.UseCors(CorsOptions.AllowAll);
var config = new HttpConfiguration();
config.MapHttpAttributeRoutes();
// web api configuration
app.UseWebApi(config);
}
示例2: ConfigureAuth
private static void ConfigureAuth(IAppBuilder app)
{
// validate JWT tokens from AuthorizationServer
app.UseJsonWebToken(
issuer: "AS",
audience: "sparrow",
signingKey: "OYGY0nAkQUZx1YrT6ler8CI6qbJHyn32tWbCDNuLL+M=");
// claims transformation
app.UseClaimsTransformation(new ClaimsTransformer());
}
示例3: Configure
public static void Configure(IAppBuilder app)
{
// no mapping of incoming claims to Microsoft types
JwtSecurityTokenHandler.InboundClaimTypeMap = new Dictionary<string, string>();
// validate JWT tokens from AuthorizationServer
app.UseJsonWebToken(
issuer: Constants.AS.IssuerName,
audience: Constants.Audience,
signingKey: Constants.AS.SigningKey);
// claims transformation
app.UseClaimsTransformation(new ClaimsTransformer());
}
示例4: Configuration
public void Configuration(IAppBuilder app)
{
var config = new HttpConfiguration();
var configurationService = new ConfigurationService();
#if DEBUG
Log.Logger = new LoggerConfiguration()
.WriteTo.Debug()
.CreateLogger();
config.Services.Add(typeof(IExceptionLogger), new DebugExceptionLogger());
#else
Log.Logger = new LoggerConfiguration()
.WriteTo.Elmah()
.CreateLogger();
#endif
// Autofac
var builder = new ContainerBuilder();
builder.Register(c => app.GetDataProtectionProvider()).InstancePerRequest();
builder.Register(c => configurationService).As<ConfigurationService>().SingleInstance();
builder.Register(c => configurationService.CurrentConfiguration).As<AppConfiguration>().SingleInstance();
builder.Register(c => HttpContext.Current.GetOwinContext().Authentication).InstancePerRequest();
builder.Register(c => Log.Logger).As<ILogger>().SingleInstance();
var container = AutofacBootstrapper.Initialize(builder, config);
// Web API
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}", new { id = RouteParameter.Optional });
config.Services.Add(typeof(IExceptionLogger), new ElmahExceptionLogger());
config.Filters.Add(new ElmahHandleErrorApiAttribute());
config.DependencyResolver = new AutofacWebApiDependencyResolver(container);
config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new DefaultContractResolver { IgnoreSerializableAttribute = true };
app.UseIdentityServer(GetIdentityServerOptions(app, configurationService.CurrentConfiguration));
app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
{
Authority = configurationService.CurrentConfiguration.SiteRoot,
RequiredScopes = new[] { "api1" },
ValidationMode = ValidationMode.ValidationEndpoint
});
app.UseAutofacMiddleware(container);
app.UseAutofacWebApi(config);
app.UseClaimsTransformation(ClaimsTransformationOptionsFactory.Create());
app.UseWebApi(config);
}
示例5: Configuration
public void Configuration(IAppBuilder app)
{
// require SSL and client certificates
app.RequireSsl(requireClientCertificate: true);
// basic authentication
app.UseBasicAuthentication("katanademo", ValidateUser);
// client certificates
app.UseClientCertificateAuthentication(X509RevocationMode.NoCheck);
// transform claims to application identity
app.UseClaimsTransformation(TransformClaims);
app.UseWebApi(WebApiConfig.Register());
}
示例6: Configuration
public void Configuration(IAppBuilder app)
{
// authorization manager
ClaimsAuthorization.CustomAuthorizationManager = new AuthorizationManager();
// no mapping of incoming claims to Microsoft types
JwtSecurityTokenHandler.InboundClaimTypeMap = ClaimMappings.None;
// validate JWT tokens from AuthorizationServer
app.UseJsonWebToken(
issuer: Constants.AS.IssuerName,
audience: Constants.Audience,
signingKey: Constants.AS.SigningKey);
// claims transformation
app.UseClaimsTransformation(new ClaimsTransformer().Transform);
app.UseWebApi(WebApiConfig.Configure());
}
示例7: Configure
public static void Configure(IAppBuilder app)
{
// no mapping of incoming claims to Microsoft types
JwtSecurityTokenHandler.InboundClaimTypeMap = ClaimMappings.None;
// validate JWT tokens from AuthorizationServer
app.UseJwtBearerToken(
issuer: Constants.AS.IssuerName,
audience: Constants.Audience,
signingKey: Constants.AS.SigningKey);
// claims transformation
app.UseClaimsTransformation(new ClaimsTransformer());
#region Katana
//app.UseJwtBearerAuthentication(new JwtBearerAuthenticationOptions
//{
// AllowedAudiences = new[] { Constants.Audience },
// IssuerSecurityTokenProviders = new[] { new SymmetricKeyIssuerSecurityTokenProvider(
// Constants.AS.IssuerName,
// Constants.AS.SigningKey) }
//});
#endregion
}
示例8: Configuration
public void Configuration(IAppBuilder app)
{
app.UseWindowsAuthentication();
app.UseClaimsTransformation(Transformation);
app.UseWebApi(WebApiConfig.Register());
}