認証/認可の基盤がしっかり構築できると、アプリケーションの機能開発がスムーズにできるようになります。他にも決済や通知系(運用やユーザーテスト)なども同様です。
OAuth認証がよく使われています。
などよく使用します。
フロントエンドでOAuthを呼び出し、成功すると、
などのデータが返ってきます。これらをバックエンドのDBに保存し、サービスのユーザーとして紐づけることで誰か特定できるようにします。独自の認証の場合は、パスワードを入力し、生成されたユニークなユーザーIDで識別しますが、OAuthの場合は、DBに登録したprovider_idやprovider_nameを使い識別します。
認証の失敗 (お前誰だよ。)
認可の不足 (理解した。だが断る。)
API Token or JWTを生成し、API利用(サービス利用)ができるかサーバーサイドで確認します。
①OAuthを使い、サービスにログイン(認証) ②API Token or JWTを生成し、基本的なサービスを利用できるようにする(認可)
このような形でしょうか。
細かいサービス利用権限はバックエンドで設定します。
また、SHA256など、ユーザーのデータやtokenは暗号化やハッシュ化の対応が必要です。