通过验证用户进行Web Api OAuth身份验证

时间:2014-03-24 18:52:16

标签: angularjs authentication oauth asp.net-web-api asp.net-identity

我有一个MVC 5 + Web Api 2 + Angular应用程序。我已成功设法使用Identity框架实现OAuth身份验证。当我的用户提交表单上的日志时,我正在使用正确的请求发布到/ Token,我收到了持有者令牌,这一切都很好。

我的问题是我想在身份验证过程中插入一个步骤。目前,身份验证过程调用通过Identity框架调用的Token端点,然后调用我的数据类从数据库中检索用户,然后比较密码。如果全部检出,它将使用持票令牌向客户端返回200。

我想要的是插入一个执行额外检查的步骤,以查看用户是否有确认的电子邮件地址,以及他们是否未被禁用,如果其中任何一项检查失败,我想返回400.

我反编译了UserManager类的代码,IIdentityValidator仅在创建或更新时执行。我考虑过覆盖Find方法,但这对我来说似乎不对,因为这种检查只应在​​登录时进行。

1 个答案:

答案 0 :(得分:0)

Katana OAuth2实施对资源所有者密码流施加的约束强制遵循OAuth2的RFC。如果您想向用户提供有关其帐户的反馈或执行一些UI工作流程,那么您应该考虑OAuth2隐式流程。