我使用IdentityServer4发行JWT,以便我的客户端访问不同的API服务器。
现在,我们通过向客户端发送一个OneTimePassword进行无密码登录的尝试,该密码已显示给服务器,以便交换access_token
。
但是我找不到任何手动创建与IdentityServer4兼容的JWT的方法。我已经看到IdentityServerTools
提供了IssueJwtAsync
和IssueClientJwtAsync
。但是第一个缺少指定受众的选项,这使得生成的JWT在提交回API服务器时无法通过验证。另一种方法缺少嵌入Claims的选项,因此我得到了一个不属于任何人的令牌(sub
字段中没有用户信息)。
所以我的问题是:如果我手边有一个随时可用的IdentityUser,则通过提交OneTimePassword获得他的信任,我现在如何为该IdentityUser生成有效的JWT令牌?
据我所知,这不是我可以使用IdentityServer提供的Token-Endpoint解决的方法,对吗?但是显然,这是在使用Token端点时在IdentityServer内部完成的。。。