首页 > 解决方案 > 如何使用 PKCE 对 Expo React Native 应用程序进行身份验证并允许令牌刷新?

问题描述

我觉得我在这里错过了一个技巧。我们有一个托管的 Expo 应用程序,我们正在尝试根据 OIDC 身份提供者(在我们的例子中是 Cognito)对用户进行身份验证。

似乎我们有两个选择是expo-auth-session要么expo-app-auth

我不想增加令牌超时,因为这是一个安全风险。我也不想使用隐式流,因为这也是一个安全风险。

有一个针对 AuthSession 的开放 PR 来添加刷新令牌支持,但事实上库已经存在这么长时间而没有它,这让我想知道我是否遗漏了一些东西。

非常感谢任何帮助!

标签: react-nativeexpoopenid-connect

解决方案


AppAuth 支持 PKCE 和刷新令牌,从安全角度来看是最推荐的选项,但实施起来很棘手。在 React Native 中有一个AppAuth Bridge,尽管您可以使用原生移动技术有更多选择。

我有一些代码示例和博客文章强调了 AppAuth 的使用。每篇文章的步骤 8-10 演示 PKCE,步骤 15-16 演示令牌刷新:


推荐阅读