2-1 認証
アクセストークンの取得
SVF Cloudにアクセスするためのアクセストークンを取得します。
アクセストークンの取得には、SVF Cloud Managerで作成したクライアント認証情報の以下の情報を使用します。クライアント認証情報の作成手順は『SVF Cloud 管理ガイド』の「クライアント認証情報を作成したい」を参照してください。
クライアントID
clientIDの値に指定
シークレット
secretの値に指定
PKCS8フォーマット秘密鍵
秘密鍵ファイルのファイル名を含んだパスを、keyFileの値に指定
https://api.svfcloud.com/oauth2/token
POST
application/x-www-form-urlencoded
リクエストボディ
リクエストボディのデータ
値
必須
説明
grant_type
urn:ietf:params:oauth:grant-type:jwt-bearer
assertion
JWTベアラートークン
「JWTベアラートークンを作成する」を参照してください。
リクエストヘッダー
ヘッダーフィールド
値
説明
Authorization
Basic {base64 encoded clientID:secret}
clientIdとsecretを結合し、Base64でエンコードした結果を指定します。
レスポンス
コード | 説明 |
---|---|
HTTP/1.1 200 OK | 正常に処理が実行されたことを意味します。 |
HTTP/1.1 401 Unauthorized | 認証情報が不正な場合に発生します。 |
HTTP/1.1 403 Forbidden | 実行権限がない場合に発生します。 |
HTTP/1.1 429 Too many Requests | APIコール数が閾値を超えた場合に発生します。レスポンスヘッダーの「Retry-After」に返された値の秒数経過後に、再度実行してください。 |
HTTP/1.1 503 Service Unavailable | 有効なサービスプランまたはポイントが存在しない場合に発生します。 |
{"token":"fa074d728eef1bfb1da897de1f64b53dae7857e87dd0b8b96d9f65e06da43e9f","expiration":1442046911540}
キー | 内容 | 説明 |
---|---|---|
token | アクセストークン | SVF Cloud WebAPIを利用するためのアクセストークンです。APIの呼び出しの際にリクエストヘッダーに付与します。 |
expiration | 有効期限 | アクセストークンの有効期限(UTCで測定された1970-01-01T0:0:0Zからの秒数)です。期限を過ぎると、アクセストークンは無効となり、再度認証が必要になります。成果物のダウンロードなど比較的時間のかかる処理を実行する際は、処理中に有効期限切れにならないように、残存期間を確認し、場合によっては再取得しておくことをお勧めします。 |
JWTベアラートークンを作成する
SVF Cloudでは認証時にJWTベアラートークンを使用しています。
JWTベアラートークンは、次の手順で作成します。
JWTヘッダーを次の形式で作成します。{"alg":"RS256"}
JWTヘッダーをBase64エンコードします。結果は「eyJhbGciOiJSUzI1NiJ9」のように表示されます。
iss、sub、exp、userName、timeZone、localeを使用して、JWTのJSON要求セットを作成します(timeZone、localeの設定は任意です)。
{ "iss": "SVFFEQQUGPSITUHVRAOMBRPUXMRXQKER", "sub": "xxxx@api.svfcloud.com", "exp": "1333685628", "userName": "帳票太郎", "timeZone": "Asia/Tokyo", "locale": "ja" }
フィールド
例
説明
iss
SVFFEQQUGPSITUHVRAOMBRPUXMRXQKER
clientIdを指定します。
sub
xxxx@api.svfcloud.com
ユーザーIDを指定します。ここで指定されたユーザー情報は、SVF Cloud Managerの処理履歴に表示されます。
exp
1333685628
アクセストークンの有効期限(UTCで測定された1970-01-01T0:0:0Zからの秒数)を指定します。
userName
帳票太郎
ユーザー名を指定します。ここで指定されたユーザー情報は、PDFプロパティの「作成者」に反映されます。
timeZone
Asia/Tokyo
設定は任意です。タイムゾーンを指定します。ここで指定されたタイムゾーン情報は、以下に反映されます。
PDFプロパティの「作成日」
SVF実行部の下記関数の出力内容
DATE
IDATE
TIME
ITIME
locale
ja
設定は任意です。ロケールを指定します。実行環境と異なるロケール(地域情報)を任意に設定できます。
JWT要求セットを改行なしでBase64エンコードします。
エンコードされたJWTヘッダーの新しい文字列およびエンコードされたJWT要求セットを、次の形式で作成します。
encoded_JWT_Header + "." + encoded_JWT_Claims_Set
結果の文字列にRSA SHA256を使用して署名します。
次の形式で、文字列を連結します。
encoded_JWT_Header + "." + encoded_JWT_Claims_Set + "." + base64_encoded_signature
参考
詳細は、アクセストークンの取得と破棄に関するサンプルプログラム「Authentication.java」をダウンロードし、合わせて確認してください。
アクセストークンの破棄
指定したアクセストークンを破棄します。
注意
PDFファイルをinvoiceAgent 文書管理(クラウド版)にアーカイブする場合、印刷が完了(正常終了またはエラー終了)するまで、トークンは破棄しないでください。
https://api.svfcloud.com/oauth2/revoke
POST
application/x-www-form-urlencoded
リクエストボディ
リクエストボディのデータ
値
必須
説明
token
アクセストークン
破棄するアクセストークンを指定します。
リクエストヘッダー
ヘッダーフィールド
値
説明
Authorization
Bearer {your access token}
認証で取得したアクセストークンを指定します。
レスポンス
コード | 説明 |
---|---|
HTTP/1.1 204 No Content | 正常に処理が実行されたことを意味します。 |
HTTP/1.1 400 Bad Request | リクエスト内容が不正な場合に発生します。 |
HTTP/1.1 401 Unauthorized | 認証情報が不正な場合に発生します。 |
HTTP/1.1 429 Too many Requests | APIコール数が閾値を超えた場合に発生します。レスポンスヘッダーの「Retry-After」に返された値の秒数経過後に、再度実行してください。 |