c# – Web API授权access_token验证
发布时间:2020-12-15 08:17:07 所属栏目:百科 来源:网络整理
导读:现在我正在使用OAUTH2.0授权. 我想做自己的授权服务器(WEB API). 我有一个Dummy MVC项目来测试这个. 我成功地使用’SimpleAuthorizationServerProvider’在服务器(WEB API)中创建了一些访问令牌. 我必须调用一些API调用,但应该授权. 所以我可以用我的令牌发
现在我正在使用OAUTH2.0授权.
我想做自己的授权服务器(WEB API). 我有一个Dummy MVC项目来测试这个. 我成功地使用’SimpleAuthorizationServerProvider’在服务器(WEB API)中创建了一些访问令牌. 我必须调用一些API调用,但应该授权. 所以我可以用我的令牌发送这个电话. https://localhost/Profile?access_token=... 或者可以通过标头发送access_token. private static TokenResponse GetToken() { var client = new OAuth2Client(new Uri("http://localhost:2727/token"),"client1","secret"); var response = client.RequestResourceOwnerPasswordAsync("bob","bob").Result; return response; } 但无法理解它是从服务器端创建的. 解决方法
您无需担心服务器端的访问令牌.服务器端的访问令牌由Katana中间件解析和验证.如果您需要有关如何创建/使用访问令牌的更多详细信息,然后在
Katana sources中搜索DeserializeTicket和SerializeTicket方法,您会发现这些方法与Token一起使用来序列化/反序列化您在客户端(DummyMVC)上设置的ClaimsIdentity .
无论如何,您正在使用Embedded AuthorizationServer Thinktecture项目中的SimpleAuthorizationServerProvider,它是OAuthAuthorizationServerProvider的包装器.我对吗?我相信你想要验证凭据.在您的情况下,您可以覆盖GrantResourceOwnerCredentials. public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { // validate user credentials (demo!) // user credentials should be stored securely (salted,iterated,hashed yada) if (context.UserName != context.Password) { context.Rejected(); return; } context.Validated(); } 如果你看看Thinktecture examples,那将是最好的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容