我正在寻找任何文章或论坛线程,在那里我可以找到信息,如何作出OAuth2.0认证。特别是我有MVC 3应用程序和WCF。我必须使用OAuth2.0协议认证从web应用中调用API方法。但我找不到任何关于这件事的信息。谷歌之后,我只看到了如何为facebook、linkedin、google等开发客户的结果。任何帮助都会有帮助。谢谢。
发布于 2013-11-05 20:22:24
你可以看看DotNetOpenAuth。它有一个客户端库,您可以轻松地从NuGet在这里安装它。使用DotNetOpenAuth,所有的OAuth管道都是幕后处理的。
DotNetOpenAuth:
安装NuGet包时:https://www.nuget.org/packages/DotNetOpenAuth.Ultimate/4.3.3.13295
您可以像这样设置一个OAuth客户机:
var authorizationServerDescription = new AuthorizationServerDescription
{
ProtocolVersion = ProtocolVersion.V20,
TokenEndpoint = new Uri("https://yourUrl/token"),
AuthorizationEndpoint = new Uri("https://yourUrl/authorize")
};
var client = new WebServerClient(authorizationServerDescription, "ClientIdentifier", "ClientSecret");然后您可以像这样请求一个IAuthorizationState:
// Resource Owner Password Flow
client.ExchangeUserCredentialForToken("userName", "password");
// Client Credential Flow
client.GetClientAccessToken();IAuthorizationState包含可用于对Api进行授权的AccessToken。如果提供了RefreshToken,还可以使用以下方法刷新授权:
client.RefreshAuthorization(AuthorizationState);ThinkTecture:
或者,您可以使用Thinktecture.IdentityModel。如果您选择使用Thinktectures IdentityModel,一定要查看以下文章:在Thinktecture中引入IdentityServer代码流和刷新令牌支持。这不仅说明了如何使用Thinktecture设置OAuth令牌服务器,而且还解释了如何使用客户机(包括代码示例)。当然,只要参数是按照OAuth规范实现的,您就可以使用这个客户机对另一个OAuth 2.0服务器进行验证。
OAuth 2.0游乐场如果您想更好地查看OAuth 2.0流,请务必查看谷歌的OAuth 2.0游乐场。我认为很多人不知道用它来测试您自己的服务器是可能的。只需按右上角的“设置”图标并设置:
OAuth端点:自定义
你可以走了。
https://stackoverflow.com/questions/11001866
复制相似问题