/authorizeエンドポイントを通じて認証要求を開始する際に、offline_accessスコープを含める必要があります。必ずAPIでオフラインアクセスを開始してください。詳細については、「API設定」をお読みください。
たとえば、認可コードフローを使用している場合、認証要求は以下のようになります。
リフレッシュトークはセッションに保存されます。その後、セッションを更新する必要があるとき(たとえば、事前設定された時間枠が過ぎた場合や、ユーザーが機密操作を試みた場合)、アプリはバックエンドでリフレッシュトークンを使用して、新しいIDトークンを取得します。この際、/oauth/tokenエンドポイントをgrant_type=refresh_tokenで使用します。
ユーザー認証が成功すると、アプリケーションはredirect_uriにリダイレクトされ、URLの一部としてcodeが付加されます({https://yourApp/callback}?code=BPPLN3Z4qCTvSNOy)。/oauth/tokenエンドポイントを使用して、このコードをアクセストークンと交換できます。
応答には、アクセストークンとリフレッシュトークンが含まれているはずです。
client_secretを送信する必要はありません。これは、機密性の高いアプリケーションのみで必要とされるものです。
リフレッシュトークンは、ユーザーが実質的に永久に認証された状態でいることを可能にするため、アプリケーションが安全に保管しなければなりません。
認可コードフローを使用してこれを実装する方法の詳細については、「認可コードフローを使用してAPIを呼び出す」のチュートリアルを参照してください。その他の付与については、「認証フローと認可フロー」を参照してください。