所以,我正在开发一个使用和管理OAuth2连接的API。OAuth2 会很有用,因为我需要在服务之间使用客户端凭据授权。slim/slimleague/oauth2-server
然后,我也在用React Native开发一个混合应用程序。此应用程序将要求用户使用电子邮件和密码登录或连接其他服务(如 Facebook、Google、Twitter 等)。
我对在这种情况下使用什么 OAuth2 流程感到困惑。网络上有很多文章说Resource Owner Password Credentials不再安全,我们应该使用PKCE 的 Authentication Code 来代替。
但是我无法发现或理解如何在第一方应用程序中使用 PKCE 应用身份验证代码,因为所有关于您的文档都需要使用浏览器来获取redirect_uri.
我想象的流程是这样的:
username和password;/request_tokenURI 发送{ 'grant_type': 'password', 'username': username, 'password': password, 'client_id': CLIENT_ID },将其视为我们无法发送的公共应用程序client_secret;{ "access_token": access_token, "token_type": "JWT", "expires_in": LIFE_SPAN },这里我们将使用JWT来生成access_token基于public/private key;access_token在它处于活动状态时存储它,当它到期时将流向 …oauth-2.0 ×1