我有一个网络应用程序。我的要求是我需要在每次登录时生成 oauth2 不记名 token 。目前我们使用thinktecture来生成token,但是这个过程每次生成token大约需要7秒的时间。有什么方法可以在不使用 thinktecture 的情况下生成 token ?
最佳答案
如果您使用个人用户帐户
创建了新的ASP.NET Web应用程序
-> Web API
。看一下 App_Start
-> Startup.Auth.cs
。
它应该包含这样的内容:
PublicClientId = "self";
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(PublicClientId),
AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
// In production mode set AllowInsecureHttp = false
AllowInsecureHttp = true
};
// Enable the application to use bearer tokens to authenticate users
app.UseOAuthBearerTokens(OAuthOptions);
这意味着您可以发送访问 token 请求,示例请求:
然后您可以验证访问 token 是否有效:
使用此 token ,您现在可以访问用户有权访问的所有 protected 资源。
关于c# - 使用c#生成不记名 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29208217/