LoginSignup
0
0

More than 3 years have passed since last update.

note

Last updated at Posted at 2020-12-13

WebHook

GitHubなどPostする仕組み

OAuth2.0

認可サーバー(Google)で認証情報によりアクセストークンを発行。(このアプリのアクセスを許可しますか?YES)
アクセストークン付きでAPIをコールし、アクセストークンを検証
https://qiita.com/TakahikoKawasaki/items/e37caf50776e00e733be
サービス間で認可情報を受け渡せると,あるサービスがユーザの認可のもとで別のサービスの管理する情報の取得/追加/更新/削除などを行えるようになる
OAuthに対応したサービスでは,ユーザが外部サービスにパスワードを教えることなく,認可情報の委譲が可能なため、Basic認証と比べて柔軟かつセキュアな運用が可能

例)
コンシューマがアプリ/ssoにアクセス
アプリが認可へリダイレクト(state付き)、このアプリにemailを渡してもいいですか?YES
Googleがアプリ/callbackへリダイレクト
アプリがstate検証後、トークンから共通鍵でJSONへ復元しemailを取得し、DB認証
state:CSRFを防ぐ

Webアプリの場合、client_secretをもてる。

Googleの場合は、共通鍵方式、client_idとclient_secretがサービスに必要

内包型とは、認可サーバーへの問い合わせが不要。
https://qiita.com/TakahikoKawasaki/items/970548727761f9e02bcd

#JWT
<ヘッダー>.<ペイロード>.<署名>
BASE64でJSONからトークンへ変換
{
"typ": "JWT",
"alg": "HS256"
}
{
"admin": true,
"name": "John Doe",
"sub": "1234567890"
}
署名パートは、エンコード済みヘッダー、ピリオド(".")、エンコード済みペイロードを連結したものを入力値として"alg"の署名アルゴリズムで署名し、Base64urlエンコードすることにより作成されます。

TJVA95OrM7E2cBab30RMHrHDcEfxjoYZgeFONFh7HgQ
こちらの文字列をヘッダーで指定されたアルゴリズムで署名検証することにより、ID Tokenの正当性を評価できます。https://techblog.yahoo.co.jp/advent-calendar-2017/jwt/

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0