在Webapi2中的控制器中生成OAuthBearerTokens

时间:2015-12-05 20:40:37

标签: c# asp.net oauth asp.net-web-api2

我有一个使用OAuthBearerTokens的ASP.NET Webapi2服务器。

OAuthOptions = new OAuthAuthorizationServerOptions
{
   TokenEndpointPath = new PathString("/api/token"),
   Provider = new MyOAuthProvider(),
   AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
   AllowInsecureHttp = true //in production firewall blocks all insecure connections
};

我可以使用用户名和密码登录/ api / token并获得一个令牌作为回报,这将在每个后续请求中使用。

现在我想创建impersonate的功能。基本上某个(超级)用户可能会要求以系统中的另一个用户身份登录(不知道其他用户的密码和密码没有以明文形式存储)。

示例:POST:/ api / impersonate / [username]返回与/ api / token相同的结果,但不需要密码,而是要求用户具有模仿权限。

任何人都有任何涵盖此类用法的指南/教程?或者可以提供一些关于从哪里开始的提示。

1 个答案:

答案 0 :(得分:0)

如果我没有解决你的问题,你可以尝试使用刷新令牌(用作替换对:密码和登录),这并不容易。我建议你阅读这篇文章http://bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/可能对你有用。