具有Touch ID的OAuth2应用

JW.*_*JW. 7 oauth-2.0 touch-id

第三方应用程序可以通过任何方式在逻辑上使用Touch ID来验证使用OAuth2的Web服务吗?

假设我拥有一个需要使用OAuth2进行身份验证的Web服务。它支持隐式和授权代码授予(尽管我可以在必要时添加对其他授予的支持)。

第三方有一个使用此Web服务的移动应用程序。它打开一个本地Web视图进行身份验证,然后在其中加载我的身份验证URL。用户在我的域上输入他们的用户名/密码,然后我将OAuth令牌返回给应用程序。

如果此应用想要实现Touch ID以加快身份验证,是否有一种方法可以对OAuth2有意义?

我的理解是,OAuth2隐式和auth-code授予的目的是防止父级应用访问用户的凭据。它只能访问生成的OAuth令牌,并且仅在有限的时间内有效。

使用Touch ID,通常可以使用Keychain Services来存储密码。因此,这显然要求您有权访问密码。

我想他们可以将OAuth令牌存储在钥匙串中而不是密码中,但是那只在短时间内有效。

Mat*_*tio 1

到目前为止,我想到的唯一答案就是您在最后提到的内容:存储 OAuth 令牌 - 但也是一个长期存在的刷新令牌。刷新令牌可以存活多久绝对取决于您的特定安全需求。