【发布时间】:2016-12-17 11:44:17
【问题描述】:
我有两个项目都是asp.net web api
使用其中一个 web api,我可以创建不记名令牌
Web API 1:
Startup.Auth.cs 文件:
public void ConfigureAuth(IAppBuilder app)
{
OAuthOptions = new OAuthAuthorizationServerOptions();
// Enable the application to use bearer tokens to authenticate users
app.UseOAuthBearerTokens(OAuthOptions);
}
为了创建一个新的令牌,我正在使用这个函数:
public static string CreateTokenForAuthUser(string username ,string role)
{
AuthList authlist = new AuthList();
var identity = new ClaimsIdentity(Startup.OAuthOptions.AuthenticationType);
identity.AddClaim(new Claim(ClaimTypes.Name, username));
identity.AddClaim(new Claim(ClaimTypes.Role, "SomeRule"));
var ticket = new AuthenticationTicket(identity, new AuthenticationProperties());
var currentUtc = new SystemClock().UtcNow;
ticket.Properties.IssuedUtc = currentUtc;
ticket.Properties.ExpiresUtc = currentUtc.Add(TimeSpan.FromMinutes(30));
string token = Startup.OAuthOptions.AccessTokenFormat.Protect(ticket);
return token;
}
创建不记名令牌并在此 Web api 上使用它的一切工作正常
我想知道如何将在 web api 1 上创建的相同不记名令牌与另一个 asp.net web api 一起使用,以便在控制器上使用相同的授权规则(假设它们具有相同的功能)
谢谢!
【问题讨论】:
-
嘿伙计,它老了,但是......你能提供解决方案吗?我也是这种情况……
-
我还是老样子
标签: c# asp.net asp.net-web-api token bearer-token