c# - 使用c#生成不记名 token

标签 c# authentication oauth-2.0 bearer-token

我有一个网络应用程序。我的要求是我需要在每次登录时生成 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 请求,示例请求:

enter image description here

然后您可以验证访问 token 是否有效:

enter image description here

使用此 token ,您现在可以访问用户有权访问的所有 protected 资源。

关于c# - 使用c#生成不记名 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29208217/

相关文章:

c# - 阻止第三方程序集访问资源

c# - 从 C# 中的另一个页面调用函数

javascript - 如何仅给定 Cognito 用户和具有完全 AWS 权限的安全服务器(安全后端服务器到服务器身份验证)来验证 Cognito 用户

oauth-2.0 - 帐户与 Google 上的操作关联

c# - 删除WPF JpegBitmapDecoder中的图像

c# - WebSocket 无法发送大数据

symfony - 添加验证码到 Symfony2 登录页面

c# - 如何强制仅匿名访问 Controller 操作?

oauth - Google+ 服务器端 token 验证

Javascript 访问 OAuth 2 的 Location header 的 URL 片段