Gun*_*ter 1 ruby ruby-on-rails amazon-web-services amazon-cognito
我正在使用 React Native 构建一个移动应用程序。借助这个库https://github.com/AirLabsTeam/react-native-aws-cognito-js,我可以通过应用程序注册和登录用户,并且 Cognito 返回访问令牌到应用程序。
现在,应用程序将使用此令牌对 Rails 后端进行 api 调用。(对于每个 API 调用。)
1)Rails方如何验证token是否良好?
2)如何获取用户的电子邮件?
3)AWS有API端点吗?
4)有类似的例子吗?
谢谢
小智 7
无需转换为 pem,ruby gem 'jwt' 就可以解决问题:
aws_idp = Faraday.get('https://cognito-idp.{region}.amazonaws.com/{userPoolId}/.well-known/jwks.json').body
jwt_config = JSON.parse(aws_idp, symbolize_names: true)
JWT.decode(token, nil, true, {jwks: jwt_config, algorithms: ['RS256'] })
Run Code Online (Sandbox Code Playgroud)
发送到服务器的令牌是 id 令牌,您可以从 amplify JS lib 获取该令牌:
cognitoUser.signInUserSession.idToken.jwtToken
Run Code Online (Sandbox Code Playgroud)
如果解码通过且没有异常,则令牌已验证 确保检查 idp 中的算法是否确实是 RS256
| 归档时间: |
|
| 查看次数: |
3032 次 |
| 最近记录: |