# Single Sign On(SSO) とは？
## 概要
- シングルサインオンとは、1度の認証で、複数のWebサービスやクラウドサービスにアクセスする仕組みのこと
## 何が便利になるのか？
- ID・パスワードの入力や管理の手間を省き、セキュリティを強化することが可能
# 現在利用されている技術とその概要
## OAuth2
### 生い立ち
- https://ja.wikipedia.org/wiki/OAuth#%E6%AD%B4%E5%8F%B2
### ログインフロー
- https://qiita.com/TakahikoKawasaki/items/200951e5b5929f840a1f
- https://qiita.com/TakahikoKawasaki/items/200951e5b5929f840a1f#%E3%81%8A%E3%81%BE%E3%81%91 この図がすごいわかりやすい
    - Authlete にあたる部分をアプリに実装する
        - js であれば [passportjs](http://www.passportjs.org/) や ruby であれば [OmniAuth](https://github.com/omniauth/omniauth) などのライブラリを使って実装することが多い

### 利用例
- Google アカウントや Facebook アカウントを利用してアクセストークンを得ることができる
- GROWI - Google の場合
    - GROWIから[googleへ認可リクエスト送信](https://github.com/weseek/growi/blob/eb0466f50670bc98f39de3bcd532252d869b8f56/src/server/routes/login-passport.js#L227)
        - リダイレクトURLに下記コールバック[URLを指定](https://github.com/weseek/growi/blob/15c657c4c579c5dccfeeafa28a002dc48b6903cf/src/server/service/passport.js#L473)している
    - googleから[アクセストークンを受け取りログイン処理をしてクライアントに返す所](https://github.com/weseek/growi/blob/eb0466f50670bc98f39de3bcd532252d869b8f56/src/server/routes/login-passport.js#L239)

## OpenID Connect
### 生い立ち
### idToken
- JWS
- JWE
- JWT
### ログインフロー
- code
- token
- id_token
- none

### 利用例

## SAML
### 生い立ち

### ログインフロー

### 利用例


# 参考
- https://blogs.manageengine.jp/adsp-sso/
- https://ja.wikipedia.org/wiki/OAuth
- https://qiita.com/kojisaiki/items/48adf59d5d634fd330af
- https://qiita.com/TakahikoKawasaki/items/498ca08bbfcc341691fe
- https://ja.wikipedia.org/wiki/Security_Assertion_Markup_Language

---

## Page Navigation

- Canonical URL: https://tips.weseek.co.jp/Tips/Single%20Sign%20On(SSO)
- Permalink: https://tips.weseek.co.jp/5e97bf6876311900487c3c55
- Parent: [Tips](/5e44f1546857420048c06de8.md)
- Children: 0 total
- Total descendants: 0
- Siblings: 49 of 71 total (22 more not shown; see the page list API below for the full listing)
  - [Admin.js](/6505e03558d21abbb3ac8575.md)
  - [Agile](/5fb747a7a1ba4200489a4a89.md)
  - [Amazon Web Services(AWS)](/5fb748c9a1ba4200489a4acc.md)
  - [Angular](/65069da24603e7ff39a6b3d6.md)
  - [Ansible](/6505dfaa58d21abbb3ac837d.md)
  - [Apache2](/65069da24603e7ff39a6b3d5.md)
  - [Base64と仲良くなる](/5e9309f511007300489677f8.md)
  - [BuildKitによりDockerとDocker Composeで外部キャッシュを使った効率的なビルドをする方法](/5e67aea878bd2f0048680af1.md)
  - [CSS](/5fb74873a1ba4200489a4abb.md)
  - [Cocos-creator](/5fb74b6aa1ba4200489a4b2e.md)
  - [GROWI開発の知見でLINE_bot作ってみた](/5fd1d3fa0899d80049ff9a1c.md)
  - [Git](/5fb748dfa1ba4200489a4ad7.md)
  - [Grails](/65069da24603e7ff39a6b3f0.md)
  - [Hyperledger fabric](/5fcb12a2550066004845743c.md)
  - [Java](/5fb74daba1ba4200489a4ba8.md)
  - [JavaScript](/5fb74e7aa1ba4200489a4bd1.md)
  - [Jenkins](/5fb74feba1ba4200489a4c17.md)
  - [KVM](/5fbdbc17daa51800482d2227.md)
  - [Keycloak](/5fbdbffcdaa51800482d22b3.md)
  - [Kubernetes](/600522a79662740048b34bb5.md)
  - [Let's Encrypt](/65069da24603e7ff39a6b3d8.md)
  - [Linux](/5fc0ae238b05ce0048ff5a31.md)
  - [MongoDB](/5fc0af488b05ce0048ff5a6b.md)
  - [Mutagen](/6505de1458d21abbb3ac7ecd.md)
  - [Node.js](/60a62549a0d804004912d94b.md)
  - [OpenLDAP](/5fcda4862553a0004852b0dd.md)
  - [Prometheus](/5fc0b3058b05ce0048ff5af6.md)
  - [Python](/5fc0b3218b05ce0048ff5b00.md)
  - [RaspberryPiとArduinoで作る360度回転リモートワークカメラ](/5fccce3e3a4fec004844a01b.md)
  - [RaspberryPiとArduinoで作る360度回転リモートワークカメラ_ソフトウェア構築編](/5fdab8ad04dc4f00483b8d20.md)
  - [RaspberryPiとArduinoで作る360度回転リモートワークカメラ_ハードウェア製作編](/5fd7972a5fc9220048844c35.md)
  - [Redmine](/5fcd9bdd2553a0004852b012.md)
  - [Ruby](/5fc0b2588b05ce0048ff5ada.md)
  - [Slack](/5fc0ae7b8b05ce0048ff5a45.md)
  - [SourceTree](/5fc0ae0c8b05ce0048ff5a2b.md)
  - [StackStorm(st2)](/65069da24603e7ff39a6b3da.md)
  - [Stripe](/5fc0aff58b05ce0048ff5a8d.md)
  - [Tomcat](/5fcda2772553a0004852b0ac.md)
  - [Turborepo](/6505dee958d21abbb3ac80cf.md)
  - [TypeScript](/5fc0a7ac8b05ce0048ff58f4.md)
  - [URLでベーシック認証を突破](/5fc0b2d98b05ce0048ff5af2.md)
  - [Unity](/5fc0ace98b05ce0048ff59f5.md)
  - [VSCode](/5e9b270093fd090048cc8acb.md)
  - [WSL2](/65069da24603e7ff39a6b403.md)
  - [Wordpress](/5fc0af488b05ce0048ff5a6d.md)
  - [XSS](/5fbe723e36ac6300497c2194.md)
  - [brigade](/600523119662740048b34be0.md)
  - [cert-manager](/65069da24603e7ff39a6b3f9.md)
  - [devcontainer](/5fd54b8eedce4f00482fa36d.md)
- Last updated: 2020-08-26T09:33:34.224Z by deleted_at_1769744008064
- Full page listing (all children regardless of count): https://tips.weseek.co.jp/_api/v3/page-listing/children?id=5e97bf6876311900487c3c55
