我在一个大型的. net MVC 5 web解决方案中有一个特定于api的项目。我正在使用WebApi2模板通过api验证用户。使用单独的帐户进行验证,获得访问令牌所需的请求主体是:
grant_type=password&username={someuser}&password={somepassword}
这按预期工作。
但是,我需要向搭建的方法"GrantResourceOwnerCredentials"添加第3个维度。除了检查用户名/密码之外,我还需要添加设备ID,这意味着限制用户帐户对特定设备的访问。不清楚的是如何将这些额外的请求参数添加到已经定义的"OAuthGrantResourceOwnerCredentialsContext"中。此上下文当前为用户名和密码腾出了空间。但显然我需要更多的证据。
我的问题很简单,是否有一种标准的方法来扩展OWIN OAuth2令牌请求的登录要求以包含更多数据?在. NET WebApi2环境中如何可靠地做到这一点?
1条答案
按热度按时间8yparm6h1#
就像往常一样,我在提交问题后立即找到了答案...
ApplicationOAuthProvider.cs包含以下现成的代码
通过简单地添加
在这个方法中,你可以访问请求体中的所有变量,并随意使用它们,在我的例子中,我把它放在用户的空值检查之后,以执行更严格的安全检查。