我有一个经过身份验证的前端,使用
Authorization
标头传递不记名令牌来与后端对话。该令牌来自于我们的 React 前端中提取的 idToken
。在我们的后端,我提取了这个不记名令牌并成功验证了它。
我想切换到 cookie 身份验证,以便我们域上的多个页面都可以一起进行身份验证,并从我们的 JS 中删除令牌处理代码。我可以在配置身份验证时设置 cookieStorage 参数:https://docs.amplify.aws/javascript/tools/libraries/configure-categories/#scoped-configuration
然而,这给了我相当神秘的 cookie 名称(混淆):
CognitoIdentityServiceProvider.1pko4kjgrn0c9m7c**********.google_11790661*************.refreshToken
CognitoIdentityServiceProvider.1pko4kjgrn0c9m7c**********.LastAuthUser
CognitoIdentityServiceProvider.1pko4kjgrn0c9m7c**********.google_11790661*************.clockDrift
CognitoIdentityServiceProvider.1pko4kjgrn0c9m7c**********.google_11790661*************.accessToken
CognitoIdentityServiceProvider.1pko4kjgrn0c9m7c**********.google_11790661*************.idToken
请注意,这些只是 cookie 的名称,值是我期望的 JWT。
问题是 - 我如何提取这些 cookie?我的第一个想法是使用正则表达式来查找第一个名为
CognitoIdentityServiceProvider\..*\.idToken
的 cookie - 但这肯定是不对的!
我尝试过在线搜索示例,但大多数建议从 JS 设置
Authorization
标头,就像我们目前所做的那样。
您是否成功实现了此实施,我也遇到了同样的问题,无法找到在 AWS API Gateway 自定义授权方中选择放大 cookie 名称的正确方法?