通过每个用户的命名凭据进行JWT令牌交换



我试图通过每个用户的命名凭据生成JSON Web令牌(JWT)。我想使用这个命名的信用用于身份验证目的。在salesforce提供JSON web令牌后使用它们,作为交换,我的本地认证服务器将提供令牌。

下面是我在创建每个用户的命名凭据时添加的设置。

标签: TestJWTCredential

<名称/strong>: TestJWTCredential

:→外部端点& lt; -

认证部分

: MulesoftJWT

身份类型: Per User

认证协议: JWT令牌交换

令牌端点Url: http://localhost: 8091/api/供应商/标记

: refresh_token full

发行人:→用户名& lt; -

Per User Subject: $ userId

观众: http://localhost: 8091/api/供应商/标记

令牌对有效: 1 Hours

JWT签名证书: MulesoftJWT

Ref:——https://help.salesforce.com/articleView?err=1& id = sf.named_credentials_about.htm&类型= 5 # language-combobox

,http://localhost: 8091/api/供应商/标记">这是我的授权服务器的url,它是部署在我本地的一个mule应用程序。

同样,当从开发控制台调用这个命名的creds时,它会给出这个错误系统。CalloutException:无法完成JWT令牌交换。以下是APEX代码

HttpRequest req = new HttpRequest();
req.setEndpoint('callout:TestJWTCredential/services/oauth2/userinfo');
req.setMethod('GET');
req.setHeader('Authorization', 'Bearer'+ UserInfo.getSessionId());
Http http = new Http();
System.debug('REQUEST :::: ' + req);
HTTPResponse resp = http.send(req);
System.debug('RESPONSE  :::: ' + resp.getBody());
有谁能告诉我怎么做吗?

我刚刚看了一些Salesforce关于这个主题的视频。深入了解Salesforce Connected App -第3部分视频中,在23:56处,Salesforce演示者不得不删除"作用域"。让它工作的价值。https://youtu.be/wN8d4vwSA-E?t=1436

相关内容

  • 没有找到相关文章