Newer Version Available
JWTBearerTokenExchange クラス
名前空間
使用方法
このクラスのメソッドを使用して、アクセストークンと引き換えに、署名済み JWT べアラートークンを OAuth トークンエンドポイントに POST します。
例
次の例では、Apex コントローラアプリケーションで次の手順を実行します。
- JSON 要求セットを作成します。
- 追加要求を含む要求の範囲を指定します。
- 署名済み JWT を作成します。
- トークンエンドポイントを指定し、そこに POST します。
- HTTP 応答からアクセストークンを取得します。
1public class MyController{
2
3
4 public MyController() {
5 Auth.JWT jwt = new Auth.JWT();
6 jwt.setSub('user@salesforce.com');
7 jwt.setAud('https://login.salesforce.com');
8 jwt.setIss('3MVG99OxTyEMCQ3gNp2PjkqeZKxnmAiG1xV4oHh9AKL_rSK.BoSVPGZHQukXnVjzRgSuQqGn75NL7yfkQcyy7');
9
10 //Additional claims to set scope
11 Map<String, Object> claims = new Map<String, Object>();
12 claims.put('scope', 'scope name');
13
14 jwt.setAdditionalClaims(claims);
15
16 //Create the object that signs the JWT bearer token
17 Auth.JWS jws = new Auth.JWS(jwt, 'CertFromCertKeyManagement');
18
19 //Get the resulting JWS in case debugging is required
20 String token = jws.getCompactSerialization();
21
22 //Set the token endpoint that the JWT bearer token is posted to
23 String tokenEndpoint = 'https://login.salesforce.com/services/oauth2/token';
24
25 //POST the JWT bearer token
26 Auth.JWTBearerTokenExchange bearer = new Auth.JWTBearerTokenExchange(tokenEndpoint, jws);
27
28 //Get the access token
29 String accessToken = bearer.getAccessToken();
30
31 }
32}JWTBearerTokenExchange のコンストラクタ
JWTBearerTokenExchange のコンストラクタは次のとおりです。
JWTBearerTokenExchange のメソッド
JWTBearerTokenExchange のメソッドは次のとおりです。すべてインスタンスメソッドです。
getAccessToken()
署名
public String getAccessToken()
戻り値
型: String
使用方法
このメソッドは、トークン応答から access_token を抽出します。トークン応答が別のパラメータでアクセストークンを発行する場合、要求は失敗します。
完全な HTTP トークン応答が返されるようにするには、代わりに getHttpResponse を使用し��す。
getHttpResponse()
署名
public System.HttpResponse getHttpResponse()
戻り値
使用方法
完全な System.HttpResponse からアクセストークンを取得できます。トークン応答から access_token のみを取得する場合は、代わりに getAccessToken を使用できます。