javascript - 如何在单元测试中模拟/生成 cognito jwt token ?

标签 javascript unit-testing jwt amazon-cognito aws-amplify

在测试中模拟/生成 Cognito token 的最佳方法是什么?

我有一个设置授权 header 的辅助函数:

const response = await request(service)
    .post('/graphql')
    .send({ query, variables })
    .set('Authorization', `Bearer ${token}`)

似乎我需要自己生成 token ,但我不知道如何或是否可以这样做。

最佳答案

您可以使用Auth.signIn以编程方式登录并从 Cognito 接收 jwt token 的函数。
就像是

import { Auth } from 'aws-amplify'

const signIn = Auth.signIn({ username, password })
signIn.then(cognitoResponse => {
  // this is the token you need
  console.log(cognitoResponse.signInUserSession.accessToken.jwtToken);
})
Auth.signIn 文件:
https://aws-amplify.github.io/amplify-js/api/classes/authclass.html#signin

关于javascript - 如何在单元测试中模拟/生成 cognito jwt token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54192423/

相关文章:

java - 我如何测试 CLI 应用程序是否等待输入

java - Mockito 使用匹配器进行 stub

node.js - 如何向客户端发送 Facebook 登录后创建的 JSON Web Token?

javascript - Jquery/Javascript — 如何直观地优化我的网站负载?

javascript - 过滤列表为空

javascript - jQuery textarea 自动增长,直到行尾/输入才增长

c# - 在 NUnit 中测试不可编译的代码

javascript - REST API和JWT身份验证: send data along token?

spring-boot - Spring Boot Microservice调用Web API

javascript - 在新标签页/窗口/弹出窗口中打开外部网站