2.8.1 アクセス・トークンとリフレッシュ・トークンについて
アクセス・トークンとリフレッシュ・トークンを使用して、認証済ユーザーのみがサービスにアクセスできるようにし、管理ユーザーまたはトランザクションを最初に開始したユーザーのみがトランザクションを管理できるようにします。
アクセス・トークンおよびリフレッシュ・トークンを作成するにはアイデンティティ・プロバイダを使用します。新しいREST APIリクエスト(旅行を予約するリクエストなど)を送信するときに、リクエスト・ヘッダーでアクセス・トークンとリフレッシュ・トークンも渡す必要があります。
アクセス・トークン
認証を有効にする際には、すべてのリクエストのauthorization
ヘッダーでアクセス・トークンを渡す必要があります。MicroTxは、JWTベースの認証を強制し、すべての受信リクエストのアクセス・トークンを公開キーに対して検証します。また、MicroTxライブラリからトランザクション・コーディネータに送信されたすべてのコールも検証されます。MicroTxは、アクセス・トークンを渡すユーザーに、操作を実行するために必要なシステム権限があることを確認します。これにより、認可されたユーザーのみがMicroTx APIにアクセスできるようになります。
コーディネータで認可チェックを有効にしたときでも、リクエストの送信時にアクセス・トークンを指定しない場合は、アクセス・トークンがないためトランザクションは拒否されます。
リフレッシュ・トークン
リフレッシュ・トークンを使用して、期限切れのアクセス・トークンをリフレッシュします。非同期のコールまたはトランザクションは、数分または数時間にわたる可能性があります。たとえば、Sagaトランザクション・プロトコルを使用して、ホテルと航空券を予約するとします。ユーザーが予約を完了するまでに数分かかる場合があります。しかしながら、ユーザーがトランザクションを完了する前に、アクセス・トークンが期限切れになる可能性があります。YAMLファイルでアイデンティティ・プロバイダのURLおよびクライアントIDを指定すると、MicroTxはリフレッシュ・トークンをアイデンティティ・プロバイダに提供し、新しいアクセス・トークンを取得します。
親トピック: 認証および認可について