OauthとOpenID connectについて理解を深める
参考
https://qiita.com/TakahikoKawasaki/items/e37caf50776e00e733be
https://qiita.com/TakahikoKawasaki/items/498ca08bbfcc341691fe
https://solution.kamome-e.com/blog/archive/blog-auth-20221108/
https://zerokara.dds.co.jp/oauth_oidc/oauth_oidc/
oauth
通信の流れ
アクセストークンの発行を依頼。
ユーザーに権限を発行していいか許可を認可サーバーに求める
許可されたらアクセストークンを発行して、クライアントに渡す
データがあるサーバー(リソースサーバー)に対してAPIでユーザーデータをリクエストする
ただそのままアクセスできてしまうと問題あるので、アクセストークン付きでリクエストする
アクセストークンの権限を検証して、権限に応じてデータを返却する
「許可されたらアクセストークンを発行して、クライアントに渡す」
ここがOAuth 2.0、RFC6749で標準化されている
https://datatracker.ietf.org/doc/html/rfc6749
openID connect
oauthの拡張
アクセストークンがIDトークンになった形(発行者の署名トークン)
認可がOauthでそこにID認証を加えたのがOpenID Connect
IDトークンには、ID・パスワードの情報が含まれており、異なるサービスでも共通のID・パスワードを使用することが可能
Oauthは認可ではあるが、Oauth認証として認証方法が存在する。しかし、アクセストークンが流出するとデータにアクセスできてしまう点で問題。→だからOpenID Connect。IDトークンの発行先(利用者)も署名に含まれるため