自从弃用以来,apollo-server-testing我正在使用与 apollo-server 进行集成测试的新方法(包含在 apollo-server 2.25.0 中)。从突变登录中,我在 OutgoingMessage 标头(在 中'Set-Cookie')中设置了刷新令牌。
@Mutation(() => RefreshTokenOutput)
async refreshToken(@Ctx() { response, contextRefreshToken }: Context): Promise<RefreshTokenOutput> {
if (contextRefreshToken) {
const { accessToken, refreshToken } = await this.authService.refreshToken(contextRefreshToken);
response.setHeader(
'Set-Cookie',
cookie.serialize('refreshToken', refreshToken, {
httpOnly: true,
maxAge: maxAge,
secure: true,
})
);
return { accessToken: accessToken };
} else {
throw new AuthenticationError();
}
}
Run Code Online (Sandbox Code Playgroud)
// given:
const { user, clearPassword } = await userLoader.createUser16c();
const input = new …Run Code Online (Sandbox Code Playgroud)