🦔
OAuth2.0 基礎
OAuth2.0
- OAuth
- authorization tokenの取得方法
- tokenの使用方法
- OAuthはシステムを跨いで認可を行える様にする委譲プロトコル
- OAuthはパスワード共有のようなアンチパターンを委譲プロトコルに置き換えて、より安全で使いやすいもの
OAuth2.0 Process Flow
Authorization Grant Type
Authorization Code Grant Type
BrowserとClientが分離されている時はこちら!!
- browser
- client
- authorization server
- resource server
上記が分離されていれば、各構成要素が持つ情報を分離できる
Implicit Grant Type
- Javascript Applicationが完全にブラウザ内部だけで稼働している場合に使われる(clientとbrowserが一致している状態)
- 認可コードを隠すことはできない
- clientの処理内容について、完全にuser側は把握可能になる
Client Credentials Grant Type
- client-applicationがresource ownerである場合に利用
- BFF layerなどで利用
Resource Owner Credentials Grant Type(Password Grant Type)
- ResourceOwnerのusername/passwordで認証を行う方式
- しかし、ResourceOwnerはAuthorizationServerとのやりとりはやらない
- この付与方法はすべきではない
Assertion Grant Type
- SAML(Security Assertion Markup Language)
- JWT(JSON Web Token)
Discussion