OpenID Certification Conformance Test ことはじめ ( 苦労したこと 苦労しないために知っておきたいこと ) 株式会社オージス総研 サービス事業本部テミストラクトソリューション部 氏縄武尊 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14
自己紹介 氏縄武尊 (Ujinawa Takeru) Work 株式会社オージス総研テミストラクトソリューション部 3 年目 ID 管理 認証周りの開発 OpenID Connect, AWS Private 滋賀県彦根市出身 Twitter: @uji52 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 2
私の仕事 : ThemiStruct ( テミストラクト ) シングルサインオン認証基盤 ID 管理 電子証明書発行 管理 つくってます サーバーレスで動く統合認証基盤 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 3
Conformance Test 苦労したポイント Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 4
Conformance Test の画面 ボタンを押したらテストが走る詳細なログも見られる 理解できれば修正も簡単 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 5
Conformance Test の画面 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 6
Conformance Test の画面 テスト自体は 事前知識があれば案外簡単 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 7
今回お話すること (Conformance Test で苦労した点 ) テストの進め方 テスト項目の確認 ログの確認方法 読み方 失敗が分かりにくいテストケース 実例を挙げながらデモ形式で紹介 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 8
デモ Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 9
Conformance Test のコツ テストケース毎に期待される結果を知る 既にCertifiedなOPのログを見る Conformance Profilesと実行ログをよく読む ログとスペックを見比べて修正する リクエスト レスポンス共に実行ログに出ている 不正な値の場合は大体スペックにそれっぽい記載がある Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 10
ご清聴ありがとうございました お問い合わせ先 株式会社オージス総研 TEL: 03-6712-1201 / 06-6871-7998 mail: info@ogis-ri.co.jp Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 11
Appendix( デモ中の画面 ) Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 12
テスト項目 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 13
認定された Conformance Profile Conformance Test のログがダウンロードできる Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 14
Conformance Profile の確認ができる資料 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 15
Conformance Profile 毎に要求されるテストの内容 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 16
no err や SHOULD 等の要求もあることを頭に入れておく Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 17
事前準備 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 18
テストインスタンスの作成 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 19
https://openid.net/certification/testing/ Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 20
Issuer URL の設定 https://op.example.com/oidc/.well-known/openid-configuration 赤い部分だけ ( 末尾の "/" はあってもなくても OK) Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 21
Test InstanceID を入力作成が完了するとインスタンスの初期設定画面に遷移 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 22
既に登録されている場合設定の修正やテスト画面に遷移できる Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 23
初期設定 (Provider) Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 24
Well-know エンドポイントの有無を確認 yes/no Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 25
<Issuer URL>/.well-known/openid-configuration で設定が完了 (yes の場合 ) Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 26
それぞれの項目を選択して値を入力 (no の場合 ) Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 27
表示する項目の指定 (no の場合 ) Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 28
初期設定 (Client) Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 29
Dynamic Client Registration がある場合 (yes) 特に入力は不要 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 30
Dynamic Client Registration が無い場合 (no) Client ID/Secret を発行して入力 Redirect URI は提供される Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 31
デフォルトの subject type と response type を設定対応している JWT の形式を設定 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 32
テスト用の request parameter を設定 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 33
Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 34
実際にテストする Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 35
Conformance Test 用のインスタンス RP として動いて動作を確認してくれる Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 36
Discovery のテストが一番シンプルなので初めてのテストの場合はオススメ Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 37
正常に動作すると緑になる ( 全部緑にするのが目的じゃないことに再度注意 ) Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 38
このボタンを押すことでログが確認できる Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 39
テストの情報 ( 実行時間 テスト名等 ) テスト項目毎の結果一覧 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 40
実際のリクエストとレスポンス Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 41
テストの成否 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 42
実際のテスト Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 43
実際に叩いてみるテスト OP-Discovery-Config Well-known を実際に叩いてみる OP-Discovery-JWKs Base64url エンコード部分で実際にエラーを解消してみる OP-Response-code 複数のエラーケースが存在する場合を見てみる OP-scope-email, phone no errで良いケースを見てみる OP-redirect_uri-NotReg レスポンスが返ってこないケースを見てみる Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 44
OP-Discovery-Config ( 一番分かりやすいテストケース ) Well-knownエンドポイントを叩いて実際にログを見てみる 結果は 40-42 ページの通り Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 45
OP-Discovery-JWKs ( 簡単なエラーを直してみる ) Well-known の後にjwks_uri を叩くテスト Base64urlエンコードしたkeyを返却すべき Base64エンコードで実装したものを修正する Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 46
( 修正前 )Base64 エンコードした key を返却 ( 修正後 )Base64url エンコードした key を返却 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 47
OP-Response-Missing (response_type が空のエラーケース ) エラー返却のパターンが 2 通り 1. エラーを RP に返却する エラーレスポンスの形式をしっかり守ること ( どちらで対応しても良い ) 2. End-User にエラー画面を返す ( スクショ必須 ) 他の OP の Certification 結果が見れるので参考に Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 48
(1) エラーを RP に送る or (2)End-User にエラー画面を返す (2) の場合はスクリーンショットも送ること Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 49
エラーレスポンスが RP に返却されていることを確認 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 50
OP-scope-email, phone ( エラーになっていなければ良いケース ) OP-scope-email デモ環境で対応済みな Scope OP-scope-phone デモ環境では未対応な Scope Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 51
こっち Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 52
こっち well-known にて phone scope が許可されていない phone_number, phone_number_verified が取得できない Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 53
OP-redirect_uri-NotReg (OP からレスポンスが返却されないケース ) redirect_uri が間違っているケース レスポンスが無い状態でログが止まっている 結果はincompleteになる スクリーンショットを送る必要がある Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 54
ブラウザがエラー画面になっていることを確認 Conformance Test の Status は Incomplete になる Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 55
Incomplete になっている ( 正しい ) OK になっている レスポンスが返却されていないことを確認 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 56
ログの取得 Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 57
https://op.certification.openid.net:6xxxx/log Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 58
Copyright 2016 OGIS-RI Co., Ltd. All rights reserved. 2016/12/16 Tech Night Vol.14 59