Auth0でkintone（Cybozu）にLINEログインしてみた

## 前提

Auth0でテナント作成〜LINEログインとの接続までできているものとします。
まだの人は↓この辺りを参考に。

https://auth0.com/blog/jp-line-login-now-supported-with-auth0/

## 公式サイトの情報

### Auth0

https://auth0.com/blog/jp-how-saml-authentication-works/

### Cybozu

https://jp.cybozu.help/general/ja/admin/list_externalservices/list_saml/saml_settings.html

## 各サービスの設定

### Auth0の設定

#### Applicationを作る
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/505c1404-d67f-0c9f-1336-be4d53dcbb4d.png)
[+ CREATE APPLICATION ]を押す

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/7af226ae-1bee-4362-c4fb-39610b8987fb.png)
Name: cybozu など適当に入力、
application type: Regular Web Applications を選択して
[ CREATE ]を押す

#### Applicationの設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/0022d54c-3556-2cd3-0b2f-cd6e2d5e3874.png)
Connectionsタブで LINE がONになっていることを確認する。
他の要らないものはOFFにしておく。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/e0a8c18e-e1f4-8b8c-545a-0bf1d86aa36a.png)
Settings タブを下にスクロールして
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/13adfd11-04a0-f409-73e1-f463c83500af.png)
Advanced Settings を開き、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/e5d1b1f4-91b6-c2b7-be24-34534be08b33.png)
Certificates タブの [ DOWNLOAD CERTIFICATE ] を押して PEMファイルをダウンロードしておく。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/b6b44786-3179-04b2-7fbf-5c8f57a1d445.png)
Endpoints タブの「SAML Protocol URL」をコピーしておく。

### Cybozuの設定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/e2fa2d7b-7b4c-9934-41d4-bfa9e07ada5d.png)
[ログイン]を開き、「SAML認証」のところに
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/983b15c2-6b88-265c-2661-1718c704d0ff.png)
・SAML認証を有効にする →チェック
・Identity ProviderのSSOエンドポイントURL（HTTP-Redirect）→ コピーしておいたSAML Protocol URLを入力
・cybozu.comからのログアウト後に遷移するURL → 同じくSAML Protocol URLを入力
・Identity Providerが署名に使用する公開鍵の証明書 → ダウンロードしておいたPEMファイルを選択
・[保存]を押す

### 再び Auth0 の設定
cybozuのヘルプに載っている
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/e7709c25-f8e4-cd11-c09b-3dc17a1c3c64.png)
この内容を設定していきます。

まずAuth0でApplicationの設定を開いて
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/dde27357-cb93-31fa-dbf0-4a10abf9fece.png)
Addons タブの [SAML2 WEB APP] をクリックし、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/d0223910-1d84-0679-e6f5-1f9a2b9a74aa.png)
Settings タブの Application Callback URL に*cybozu.comのエンドポイントURL*を入力。
Settingsに以下の内容を入力。

```javascript
{
  "audience": "https://（サブドメイン名）.cybozu.com",
  "mappings": {
    "user_id": "NameID"
  }
}
```

以上でAuth0とCybozuが接続できました。

## ユーザー登録

次に、Auth0のユーザーをcybozuに登録します。
ここでは検証用に新規ユーザーを作成することにします。

Auth0で　Users　を開き、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/b1b96473-c438-50c8-5fdd-f7d91dd87759.png)
LINEログインさせたいユーザーをクリックして
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/2dc9d246-3e9d-3d74-9791-9e0ac847f7f9.png)
user_idをコピー。

次にcybozuで
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/5009803e-a683-ed88-203c-1742a5db6f23.png)
[ユーザーの追加]を押して
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/cd0e9e37-e86f-c4f6-3dee-c170854455ce.png)
ログイン名に、先ほどコピーしたuser_idを入力。
その他必要な項目を入力して[保存]を押す。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/398513/cdb758c1-56cb-e4d5-730e-a822051cad98.png)
「管理者の設定」画面で、先ほど追加した検証用ユーザーをcybozu.com共通管理者に追加しておく。

## 動作確認

別のブラウザで https://（サブドメイン名）.cybozu.com を開く。
Autho0のログイン画面が表示され、LINEでログインできればOK。



コメントありましたらお願いしますm(_ _)m