使用安全问题扩展 OWIN OAuth2.0 密码授予
Extending OWIN OAuth2.0 Password Grant With Security Questions
我目前在使用 OAuth2.0 密码授权的 WebApi2 应用程序中 OWIN/Katana 我想通过添加您将在银行网站上看到的安全问题来增加,例如"What is your mother's cousin's childhood dog's name?"
在典型的密码授予字段(用户、密码)中向用户提出额外问题的最有效方式是什么?
这是否需要实现我自己的中间件和选项以使用 IAppBuilder 进行集成,还是有更简单的方法?
在服务器端:从 IOAuthAuthorizationServerProvider.GrantResourceOwnerCredentials
通知中,您可以通过 OAuthGrantResourceOwnerCredentialsContext
访问整个 IOwinContext
,因此,使用 [=从请求表单中提取任何自定义参数=14=].
在客户端:您必须使用 username
和 password
参数传送安全问题答案。复杂性将直接取决于您的客户提供的挂钩。
POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
grant_type=password&username=johndoe&password=A3ddj3w&answer=boblemagnifique
我目前在使用 OAuth2.0 密码授权的 WebApi2 应用程序中 OWIN/Katana 我想通过添加您将在银行网站上看到的安全问题来增加,例如"What is your mother's cousin's childhood dog's name?"
在典型的密码授予字段(用户、密码)中向用户提出额外问题的最有效方式是什么?
这是否需要实现我自己的中间件和选项以使用 IAppBuilder 进行集成,还是有更简单的方法?
在服务器端:从 IOAuthAuthorizationServerProvider.GrantResourceOwnerCredentials
通知中,您可以通过 OAuthGrantResourceOwnerCredentialsContext
访问整个 IOwinContext
,因此,使用 [=从请求表单中提取任何自定义参数=14=].
在客户端:您必须使用 username
和 password
参数传送安全问题答案。复杂性将直接取决于您的客户提供的挂钩。
POST /token HTTP/1.1
Host: server.example.com
Content-Type: application/x-www-form-urlencoded
grant_type=password&username=johndoe&password=A3ddj3w&answer=boblemagnifique