Codeは認可が完了すると認可コードを発行し、事前に登録してあった戻り先URLへ認可コードを渡します。この認可コードを認可サーバーへ渡すことでアクセストークンを取得します。JAPAN、クライアント、ユーザーの三者間でデータのやり取りが行われます。エンドポイント仕様書エンドポイントの詳細な仕様は以下をご覧ください。ユーザー認可リクエストクライアントアプリはユーザーの認可を得るため、ユーザーをAuthorizationエンドポイントへリダイレクトさせます。Authorizationエンドポイントはユーザーを認証して、クライアントアプリがアクセスする権限を与えることについてユーザーに確認をとります。ユーザーによる認可が得られた場合、事前に登録された戻り先URLへユーザーをリダイレクトさせ、認可コードと指定されたstateをクライアントアプリに渡します。クライアントアプリは認可リクエスト時に送信したstateと渡されたstateが同一かどうか確認します。アクセストークン要求アクセストークン新規取得フロークライアントアプリは認可コードを使って、Tokenエンドポイントへリクエストを送信します。この際、事前に発行してあるシークレットでBasic認証を行います。Tokenエンドポイントはクライアントアプリを認証し、アクセストークン(access_token)とリフレッシュトークン(refresh_token)を返却します。要求があった場合はid_tokenも一緒に返却します。id_tokenに関しましてはこちらをご覧ください。クライアントアプリは取得したアクセストークンとリフレッシュトークンを後で利用するため安全に保存します。ID連携を行う場合はアクセストークンと一緒に取得したid_tokenからユーザー識別子を取得するか、UserInfoAPIからユーザー識別子を取得し、ユーザー識別子をキーにリフレッシュトークンを保存してください。クライアント独自のIDがある場合は必要に応じてユーザー識別子と独自のIDの関連付け処理を行ってください。アクセストークン更新フローアクセストークンの有効期限が切れた場合、クライアントアプリは保存しておいたリフレッシュトークンを用いてTokenエンドポイントへリクエストを送信します。この際、事前に発行してあるシークレットでBasic認証を行います。Tokenエンドポイントはクライアントアプリを認証し、新しいアクセストークン(access_token)を返却します。クライアントアプリから渡されたリフレッシュトークンの有効期限が切れていた場合はエラーを返却します。クライアントアプリは新しいアクセストークンを取得し、期限切れのアクセストークンと置き換えます。リフレッシュトークンの期限切れでエラーが返却された場合は、1のフローからやり直して、ユーザーの認可を取り直す必要があります。ウェブAPIアクセスクライアントアプリはアクセストークンを使ってウェブAPIのエントリーポイントへリクエストを送信します。ウェブAPIはアクセストークンが有効な場合、正常なレスポンスを返却します。アクセストークンが無効な場合はエラーレスポンスを返却します。クライアントアプリは取得したレスポンスをもとに処理を継続します。上記1~3のフローにおけるクライアントアプリの実装についてはサンプルコードを参照してください。