【发布时间】:2017-08-22 19:38:05
【问题描述】:
第三方应用有什么方法可以在逻辑上使用 Touch ID 对使用 OAuth2 的 Web 服务进行身份验证?
假设我拥有一个需要使用 OAuth2 进行身份验证的 Web 服务。它同时支持implicit and authorization-code grants(尽管如果需要我可以添加对其他授权的支持)。
第三方拥有使用此网络服务的移动应用。它打开一个本机 Web 视图进行身份验证,并在其中加载我的身份验证 URL。用户在我的域中输入他们的用户名/密码,然后我将 OAuth 令牌返回给应用程序。
如果这个应用想要实现 Touch ID 来加速身份验证,有没有一种方法可以通过 OAuth2 来实现?
我的理解是,OAuth2 隐式授权和授权码授权的目的是防止父应用访问用户的凭据。它只能访问生成的 OAuth 令牌,并且仅在有限的时间内有效。
使用 Touch ID,您通常会使用 Keychain Services 存储密码。所以这显然需要你访问密码。
我想他们可以将 OAuth 令牌而不是密码存储在钥匙串中,但这只会在短时间内有效。
【问题讨论】:
-
我也对此感兴趣,但还没有找到解决方案。