Yar*_*ara 7 authentication wcf-rest oauth-2.0
我正在寻找任何文章或论坛帖子,在那里我可以找到有关如何进行oauth 2.0身份验证的信息.特别是我有MVC 3应用程序和WCF Restfull API.我必须使用oauth 2.0协议身份验证从Web应用程序调用API方法.但我找不到任何有关它的信息.谷歌搜索后,我只看到如何开发facebook,linkedin,google等客户端的结果..任何帮助都会有所帮助.谢谢.
您可以看看DotNetOpenAuth。它有一个客户端库,您可以在此处轻松从 NuGet安装该库。所有 OAuth 管道的使用DotNetOpenAuth
都是在幕后处理的。
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");
Run Code Online (Sandbox Code Playgroud)
IAuthorizationState
然后你可以这样请求:
// Resource Owner Password Flow
client.ExchangeUserCredentialForToken("userName", "password");
// Client Credential Flow
client.GetClientAccessToken();
Run Code Online (Sandbox Code Playgroud)
IAuthorizationState 包含AccessToken
可用于针对您的 Api 进行授权的状态。如果提供了 RefreshToken,您还可以使用以下方式刷新您的授权:
client.RefreshAuthorization(AuthorizationState);
Run Code Online (Sandbox Code Playgroud)
思维结构:
或者你可以使用Thinktecture.IdentityModel
. 如果您选择使用 Thinktectures IdentityModel,请务必查看这篇文章:Introducing OAuth2 Code Flow and Refresh Token Support in Thinktecture IdentityServer。其中不仅解释了如何使用 Thinktecture 设置 OAuth 令牌服务器,还解释了如何使用客户端以及代码示例。当然,只要参数按照 OAuth 规范实现,您就可以使用此客户端来验证另一个 OAuth 2.0 服务器。
OAuth 2.0 Playground 如果您想更好地了解 OAuth 2.0 流程,请务必查看 Google 的OAuth 2.0 Playground。我认为很多人不知道可以用它来测试您自己的服务器。只需按下右上角的“设置”图标并设置:
OAuth 端点:自定义
你就可以走了。
归档时间: |
|
查看次数: |
688 次 |
最近记录: |