我目前在WebApi2应用程序中使用OAuth2.0密码授予OWIN / Katana,我希望通过添加您将在银行网站上看到的安全问题进行补充,例如: “你母亲的堂兄的童年狗的名字是什么?”
使用额外问题以及典型密码授予字段向用户提出挑战的最有效方法是什么:用户,密码?
这是否需要实现我自己的中间件和使用IAppBuilder集成的选项,还是有更简单的方法?
答案 0 :(得分:1)
在服务器端:从IOAuthAuthorizationServerProvider.GrantResourceOwnerCredentials
通知,您可以通过IOwinContext
访问整个OAuthGrantResourceOwnerCredentialsContext
,从而使用{{1从请求表单中提取任何自定义参数}}
在客户端:您必须使用IOwinRequest.ReadFormAsync
和username
参数传递安全问题答案。复杂性将直接取决于客户提供的钩子。
password