認証と認可
1. ユーザーのログインおよび登録プロセス
ログイン: ユーザーは、メールアドレスとパスワードを入力します。ログインが成功すると、サーバーはアクセス・トークン(JWT)を返し、その後の 各種API リクエストで使用されます。
追加の認証(例:MFA)が必要な場合、サーバーは一時的なセッション識別子を返し、アクセストークンを発行する前に追加の認証を要求することがあります。
検証: システムは、データベース内の認証情報を照合し、正しい場合は成功メッセージとトークンを返し、誤っている場合はエラーメッセージを返します。
2. トークン付与および認証(JWT)
認証は、JWT(JSON Web Tokens)または OAuth トークンに基づいています:
JWT: ログインが成功すると、システムは認証の証明として JWT を返します。このトークンは、後続の API コールに使用され、
AuthorizationヘッダーにBearer {token}として含める必要があります。システムは、現在のアクセストークンが有効期限切れになった際に新しいアクセストークンを取得するために使用されるリフレッシュトークンを発行することもあります。
3. ログアウトおよびセッション関連の問題の取り扱い
ログアウト: ログアウトするには、ユーザーはログアウトエンドポイントに
POSTリクエストを送信します。このリクエストにより、サーバー側でリフレッシュトークンは無効化されます。
アクセストークンは、有効期限の到来により自然に失効します。
セッション関連の問題: トークンの有効期限切れや無効なセッション状態などのセッション関連の問題は、
401 Unauthorizedのレスポンスとして返されます。401 レスポンスを返す前に、システムは有効なリフレッシュトークンを使用してアクセストークンの更新を試みることがあります。
リフレッシュ処理が失敗した場合、ユーザーは未認証とみなされます。