使用安全问题扩展OWIN OAuth2.0密码授权

时间:2015-02-19 16:00:54

标签: c# asp.net asp.net-web-api oauth owin

我目前在WebApi2应用程序中使用OAuth2.0密码授予OWIN / Katana,我希望通过添加您将在银行网站上看到的安全问题进行补充,例如: “你母亲的堂兄的童年狗的名字是什么?”

使用额外问题以及典型密码授予字段向用户提出挑战的最有效方法是什么:用户,密码?

这是否需要实现我自己的中间件和使用IAppBuilder集成的选项,还是有更简单的方法?

1 个答案:

答案 0 :(得分:1)

在服务器端:从IOAuthAuthorizationServerProvider.GrantResourceOwnerCredentials通知,您可以通过IOwinContext访问整个OAuthGrantResourceOwnerCredentialsContext,从而使用{{1从请求表单中提取任何自定义参数}}

在客户端:您必须使用IOwinRequest.ReadFormAsyncusername参数传递安全问题答案。复杂性将直接取决于客户提供的钩子。

password