授权在Asp.Net WebAPI中使用Oauth2 Token

时间:2013-01-26 21:21:24

标签: asp.net-web-api authorization oauth-2.0 thinktecture-ident-model thinktecture-ident-server

您好我正在构建一个ASP.Net WebApi。首先,我使用基本身份验证.net成员资格提供程序和 Thinktecture Identitymodel 授权WebApi。

var authConfig = new AuthenticationConfiguration();

authConfig.AddBasicAuthentication((username, password) => Membership.ValidateUser(username, password));

config.MessageHandlers.Add(new AuthenticationHandler(authConfig));

我想这不容易。

为了更进一步,我已经设置了Thinktecture IdentityServer ,它为我提供了 oauth2令牌。我的问题是如何验证客户端发送给我的访问令牌(WebApi)与身份服务器

我一直在研究IdentityModel提供的 AddJsonWebToken 方法,但我无法弄清楚我应该调用以验证令牌的身份服务器中的uri(端点)。 Probaply我只是完全迷失在这里并且忽略了这一点,任何帮助都会受到很大关注!

总结:

如何验证我在WebApi中收到的access_tokens以及如何将其连接到[Authorize]属性?

1 个答案:

答案 0 :(得分:4)

只需在您的web api配置中调用AddJsonWebToken,然后添加颁发者名称,签名密钥和领域uri。

无需调用idsrv进行验证。

以下是一个示例: http://leastprivilege.com/2012/05/26/thinktecture-identitymodel-and-asp-net-web-api/