Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ヤフー株式会社  倉林林  雅
OpenID  Connect  and  Login  Cycle  for  Android  Apps
倉林林  雅(kura)  
ヤフー株式会社  IDサービス  エンジニア  
OpenID  ファウンデーション・ジャパン

                          エヴァンジェリスト  
ID厨  
@kura_̲lab
アジェンダ
ネイティブアプリはセッション管理理が⼤大変  
ログインサイクルで⼤大事なこと  
Androidはブラウザー経由でOpenID  Connect  
Growth!
ネイティブアプリは  
セッション管理理が⼤大変
ID連携の実装パターン
ID連携とは
ID連携とは
異異なる組織間でユーザのID(アイデン
ティティ)データを連携し、サービスの
質の向上を図る仕組みのことです。
ID連携トラストフレームワーク(METI/経済産業省省)  
http://www.meti.go.jp/policy...
OpenID  Connectや
OAuthによる連携
OpenID  Connect
OpenID  Connect
【memo】
2014年2月27日(日本時間)に
ローンチしてから1年が経つ。
http://openid.net/connect/
OpenID  Connect
2014.12.23  Yahoo!  JAPAN  Advent  Calendar  
知っておきたい7つのID連携パターン
http://techblog.yahoo.co.jp/web/auth/id_̲federation_̲impl...
Webアプリ  
1. スタンダードなブラウザーパターン  
ネイティブアプリ  
2. 推奨したいネイティブアプリとブラウザーパターン  
3. 画⾯面遷移がシンプルなネイティブアプリと

                          ...
Webアプリ  
1. スタンダードなブラウザーパターン  
ネイティブアプリ  
2. 推奨したいネイティブアプリとブラウザーパターン  
3. 画⾯面遷移がシンプルなネイティブアプリと

                          ...
Webアプリ  
スタンダードなブラウザーパターン
リダイレクト処理理
認証⽤用トークンを検証
ブラウザーにCookie発⾏行行・サーバーにトークンを保存
ブラウザーにCookie発⾏行行・サーバーにトークンを保存
【memo】
Cookieを発行してトークンを保存する。

Webの場合、トークン・Cookieの管理は

それほど難しくはない。
ネイティブアプリ  
推奨したいネイティブアプリと

ブラウザーパターン
リダイレクト処理理
認証⽤用トークンを検証
アプリにトークンを保存
アプリにトークンを保存
【memo】
Cookieを発行する必要がないので

Webよりも管理は簡単。
ネイティブ・WebViewハイブリッドアプリ  
実装が⼤大変だけどより汎⽤用的な

ハイブリッドアプリとブラウザーパターン
リダイレクト処理理
認証⽤用トークンを検証
(アプリ内にトークンを保存)  
WebView経由でページにアクセス
WebViewにCookie発⾏行行・サーバーにトークンを保存
WebViewにCookie発⾏行行・サーバーにトークンを保存
【memo】
ネイティブアプリからWebView経由でサーバー側にトークンを送信。

サーバー側ではCookieを発行して、トークンを保存しなければならない。
WebViewを利用...
OpenID  Connectトークンの種類
アクセストークン  
リフレッシュトークン  
IDトークン
OpenID  Connectトークンの種類
アクセストークン  
リフレッシュトークン  
IDトークン 【memo】
前述でIDトークンが登場してきたが、

OpenID Connect(以下、OIDC)では

3つのトークンが定義されてい...
OpenID  Connect,  ふたつのトークンの物語
http://blog.openid.or.jp/post/12874061176/openid-‐‑‒connect-‐‑‒tale-‐‑‒of-‐‑‒two-‐‑‒tokens
OpenID  Connect,  ふたつのトークンの物語
http://blog.openid.or.jp/post/12874061176/openid-‐‑‒connect-‐‑‒tale-‐‑‒of-‐‑‒two-‐‑‒tokens
【...
ネイティブ/WebView/バックエンドで

トークン/Cookieを保存
ネイティブ/WebView/バックエンドで

トークン/Cookieを保存
【memo】
ネイティブ側で処理をして、WebViewを経由して、

サーバー側にトークンを送信、保存。

WebViewをつかうといろいろ実装しなければならなくなる。
トークン・Cookieによる  
セッション管理理が⼤大変
ログインサイクルで  
⼤大事なこと
未ログイン  
状態
ログイン  
状態
新規登録
ログアウト
アカウント  
切切り替え
パスワード
再確認
ログイン
トークン
Cookie  
有効期限切切れ
未ログイン  
状態
ログイン  
状態
新規登録
ログアウト
アカウント  
切切り替え
パスワード
再確認
ログイン
トークン
Cookie  
有効期限切切れ
【memo】
ログイン状態・未ログイン状態の状態遷移図。
ログイン/ログアウト...
ログイン時には…
Cookie…有効  
アクセストークン…有効  
リフレッシュトークン…有効  
IDトークン…有効
ログアウト時には…
Cookie…無効  
アクセストークン…無効?  
リフレッシュトークン…無効?  
IDトークン…無効?
Cookieの有効期限切切れ時には…
Cookie…無効  
アクセストークン…有効?  無効?  
リフレッシュトークン…有効?  無効?  
IDトークン…???
トークンの有効期限切切れ時には…
Cookie…有効?  無効?  
アクセストークン…無効  
リフレッシュトークン…無効  
IDトークン…???
アカウント切切り替え時には…
Cookie…無効  
アクセストークン…???  
リフレッシュトークン…???  
IDトークン…???
トークンとCookieの  
有効/無効の判断…難しい
IDトークンとは
IDトークンとは
【memo】
トークンとCookieの話を進める前に

OIDCにおいてIDトークンは重要な機能で

あるため簡単に説明をしておく。
http://www.slideshare.net/kura_̲lab/devsumi201413c5
http://www.slideshare.net/kura_̲lab/devsumi201413c5
【memo】
昨年2014年のデブサミでもIDトークンについて
説明をしているので参照してほしい。
IDトークンとは
issuer  が  audience  のために    
subject  を認証したかを⽰示すトークン
IDトークンとは
issuer  が  audience  のために    
subject  を認証したかを⽰示すトークン
Identity Provider
IDトークンとは
issuer  が  audience  のために    
subject  を認証したかを⽰示すトークン
Relying Party
IDトークンとは
issuer  が  audience  のために    
subject  を認証したかを⽰示すトークン
End-User
IDトークンとは
Facebook  が  SlideShare  のために    
kura  を認証したかを⽰示すトークン
IDトークンとは
Yahoo!  が  GREE  のために    
kura  を認証したかを⽰示すトークン
発⾏行行時に検証して  
IDトークンは  
保持しなくてもよい
{	

“iss”:”https://auth.yahoo.co.jp”,	

“sub”:”123456789”,	

“aud”:”abcdefg,	

“nonce”:”xyz”,	

“iat”:1291836800,	

“exp”:...
IDトークンの有効期限
=IdPの有効期限
WebViewに発⾏行行するCookieの
有効期限は

アプリのポリシーで決めてよい
≠IDトークンの  
有効期限
Cookieの

有効期限
トークンはCookieの
有効/無効にあわせる
ポイント!!
トークンはCookieの
有効/無効にあわせる
ポイント!!
【memo】
トークンを有効にすべきか無効にすべきか迷ったら

Cookieの状態に合わせると管理がシンプルになる。
ログアウト時には…
Cookie…無効  
アクセストークン…無効  
リフレッシュトークン…無効  
IDトークン…保持しなくてよい
Cookieの有効期限切切れ時には…
Cookie…無効  
アクセストークン…無効  
リフレッシュトークン…無効  
IDトークン…保持しなくてよい
Cookieの有効期限切切れ時には…
Cookie…無効  
アクセストークン…無効  
リフレッシュトークン…無効  
IDトークン…保持しなくてよい
【memo】
ログアウトしてCookieは削除するが、バックエンドのバッチ

処理・オフラ...
トークンの有効期限切切れ時には…
Cookie…有効  
アクセストークン…無効→再発⾏行行  
リフレッシュトークン…無効→再発⾏行行  
IDトークン…保持しなくてよい
アカウント切切り替え時は?
無効化すると再発⾏行行が⼤大変なため  
無効化せずにアカウントに  
ひもづけて保持しておいてよい
アカウント切切り替え時には…
Cookie…別アカウントで発⾏行行  
アクセストークン…保持  
リフレッシュトークン…保持  
IDトークン…保持しなくてよい
アカウント切切り替え時には…
Cookie…別アカウントで発⾏行行  
アクセストークン…保持  
リフレッシュトークン…保持  
IDトークン…保持しなくてよい
【memo】
別のアカウント(ID)に切り替える場合には、そのIDで
Cooki...
Androidはブラウザー経由で

OpenID  Connect
ブラウザー(Chrome)を利利⽤用してほしい
IdPのログインセッションを共有できる
WebViewでなく  
ブラウザーを推奨する理理由
Yahoo!地図のログインフロー
Yahoo!地図のログインフロー
メニューを開く
Yahoo!地図のログインフロー
ログインを押下
Yahoo!地図のログインフロー
ブラウザーが起動
Yahoo!地図のログインフロー
ブラウザーが起動
【memo】
Yahoo! JAPANのアプリもブラウザー(Chrome)を

利用したログインフローを取り入れている。
ID
Taro セッション共有
ID
Taro
ID
Taro
ID
Taro
WebView
セッション  
共有できない
Your
App
必ずログイン
ID
Taro セッション共有
ID
Taro
ID
Taro
ID
Taro
WebView
セッション  
共有できない
Your
App
必ずログイン
【memo】
WebViewを利用するとWebView内にはIdP(Facebookや...
ID
Taro セッション共有
ID
Taro
ID
Taro
ID
Taro
WebView
セッション  
共有できない
Your
App
必ずログイン
【memo】
ブラウザーを利用すると既にブラウザー上にIdPにログイン
していれば、再...
SSL通信・ドメインをみて

フィッシングでないことを確認できる
WebViewでなく  
ブラウザーを推奨する理理由
WebView  
SSL通信・ドメインを確認できない
フィッシング?暗号化通信

されている?
WebView  
SSL通信・ドメインを確認できない
フィッシング?暗号化通信

されている?
【memo】
アプリ内のWebViewを用いてログインフォームを表示する
とアドレスバーが表示されず、SSL通信されているのか判断
できない。また...
ブラウザー(Chrome)  
SSL通信・ドメインを確認できる
暗号化通信

されている!
フィッシング

ではない!
ブラウザー(Chrome)  
SSL通信・ドメインを確認できる
暗号化通信

されている!
フィッシング

ではない!
【memo】
ブラウザーを利用するとアドレスバーをみることができ
SSL通信されているか、ドメインをみてフィッシング
では...
WebViewをつかって  
ログインするアプリが増えると  
フィッシングを助⻑⾧長する可能性がある
WebViewをつかって  
ログインするアプリが増えると  
フィッシングを助⻑⾧長する可能性がある
【memo】
ブラウザーを利用するアプリが増えると、WebViewによるID・パスワード
を抜き取られるフィッシングの被害も減らせるかもしれ...
iOSアプリで  
ブラウザーをつかうと…
UXを理理由にApp  Storeの  
審査でリジェクトされること  
もありますが…
Androidアプリは  
リジェクトされる可能性は低い
Androidアプリは  
OpenID  Connectと相性がよい!
ユーザーに安⼼心してもらえるように  
ログインにはブラウザーを!
Growth!
【memo】
IDに携わってから、いろいろな場面で成長していると感じることがある。
そのひとつはOpenID ファウンデーション・ジャパン(以下、OIDF-J)の
エヴァンジェリストになったことである。
!
OIDF-Jにはプロデューサーという...
ご清聴ありがとう  
ございました。
OpenID ConnectとAndroidアプリのログインサイクル
OpenID ConnectとAndroidアプリのログインサイクル
OpenID ConnectとAndroidアプリのログインサイクル
Upcoming SlideShare
Loading in …5
×

OpenID ConnectとAndroidアプリのログインサイクル

10,463 views

Published on

タイトル:
『OpenID ConnectとAndroidアプリのログインサイクル』

概要:
 GoogleやFacebook、Yahoo! JAPANの提供するOAuth、OpenID Connectのシングルサインオン(SSO)を利用する上でトークン、ログイン状態の管理が必要になります。ログイン、ログアウトに加えアプリによってはマルチアカウント利用やアカウント切り替えを必要とするケースもあります。スマフォアプリではネイティブ、WebViewでSSOの認証方法が異なり、実装パターンは多岐にわたります。
 これまでID連携の設計や実装サポートしてきたナレッジをもとに、AndroidアプリにおけるSSOからログイン状態の管理まで、アプリの要件にあった実装方法をご紹介します。

Developers Summit 2015 【19-C-5】 Feb. 19, 2015
URL: http://event.shoeisha.jp/devsumi/20150219/session/654

Published in: Internet
  • (Unlimited)....ACCESS WEBSITE Over for All Ebooks ................ accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes ......................................................................................................................... DOWNLOAD FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full EPUB Ebook here { http://bit.ly/2m6jJ5M } ......................................................................................................................... Download Full PDF EBOOK here { http://bit.ly/2m6jJ5M }
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (Unlimited) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download Full EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ACCESS WEBSITE for All Ebooks ......................................................................................................................... Download Full PDF EBOOK here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download EPUB Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... Download doc Ebook here { https://tinyurl.com/y6a5rkg5 } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

OpenID ConnectとAndroidアプリのログインサイクル

  1. 1. ヤフー株式会社  倉林林  雅 OpenID  Connect  and  Login  Cycle  for  Android  Apps
  2. 2. 倉林林  雅(kura)   ヤフー株式会社  IDサービス  エンジニア   OpenID  ファウンデーション・ジャパン
                          エヴァンジェリスト   ID厨   @kura_̲lab
  3. 3. アジェンダ ネイティブアプリはセッション管理理が⼤大変   ログインサイクルで⼤大事なこと   Androidはブラウザー経由でOpenID  Connect   Growth!
  4. 4. ネイティブアプリは   セッション管理理が⼤大変
  5. 5. ID連携の実装パターン
  6. 6. ID連携とは
  7. 7. ID連携とは 異異なる組織間でユーザのID(アイデン ティティ)データを連携し、サービスの 質の向上を図る仕組みのことです。 ID連携トラストフレームワーク(METI/経済産業省省)   http://www.meti.go.jp/policy/it_̲policy/id_̲renkei/
  8. 8. OpenID  Connectや OAuthによる連携
  9. 9. OpenID  Connect
  10. 10. OpenID  Connect 【memo】 2014年2月27日(日本時間)に ローンチしてから1年が経つ。
  11. 11. http://openid.net/connect/ OpenID  Connect
  12. 12. 2014.12.23  Yahoo!  JAPAN  Advent  Calendar   知っておきたい7つのID連携パターン http://techblog.yahoo.co.jp/web/auth/id_̲federation_̲impl_̲patterns/ 【memo】 昨年末にID連携の実装パターンを紹介している。 今回全部紹介することはできないので 興味がある方は参照してほしい。
  13. 13. Webアプリ   1. スタンダードなブラウザーパターン   ネイティブアプリ   2. 推奨したいネイティブアプリとブラウザーパターン   3. 画⾯面遷移がシンプルなネイティブアプリと
                                                                      WebViewパターン   4. フィッシング防⽌止なWebViewアプリとブラウザーパターン   5. WebViewアプリ完結パターン   ネイティブ・WebViewハイブリッドアプリ   6. 実装が⼤大変だけどより汎⽤用的なハイブリッドアプリと
                                                                                                  ブラウザーパターン   7. 汎⽤用的なハイブリッドアプリとWebViewパターン
  14. 14. Webアプリ   1. スタンダードなブラウザーパターン   ネイティブアプリ   2. 推奨したいネイティブアプリとブラウザーパターン   3. 画⾯面遷移がシンプルなネイティブアプリと
                                                                      WebViewパターン   4. フィッシング防⽌止なWebViewアプリとブラウザーパターン   5. WebViewアプリ完結パターン   ネイティブ・WebViewハイブリッドアプリ   6. 実装が⼤大変だけどより汎⽤用的なハイブリッドアプリと
                                                                                                  ブラウザーパターン   7. 汎⽤用的なハイブリッドアプリとWebViewパターン
  15. 15. Webアプリ   スタンダードなブラウザーパターン
  16. 16. リダイレクト処理理
  17. 17. 認証⽤用トークンを検証
  18. 18. ブラウザーにCookie発⾏行行・サーバーにトークンを保存
  19. 19. ブラウザーにCookie発⾏行行・サーバーにトークンを保存 【memo】 Cookieを発行してトークンを保存する。
 Webの場合、トークン・Cookieの管理は
 それほど難しくはない。
  20. 20. ネイティブアプリ   推奨したいネイティブアプリと
 ブラウザーパターン
  21. 21. リダイレクト処理理
  22. 22. 認証⽤用トークンを検証
  23. 23. アプリにトークンを保存
  24. 24. アプリにトークンを保存 【memo】 Cookieを発行する必要がないので
 Webよりも管理は簡単。
  25. 25. ネイティブ・WebViewハイブリッドアプリ   実装が⼤大変だけどより汎⽤用的な
 ハイブリッドアプリとブラウザーパターン
  26. 26. リダイレクト処理理
  27. 27. 認証⽤用トークンを検証
  28. 28. (アプリ内にトークンを保存)   WebView経由でページにアクセス
  29. 29. WebViewにCookie発⾏行行・サーバーにトークンを保存
  30. 30. WebViewにCookie発⾏行行・サーバーにトークンを保存 【memo】 ネイティブアプリからWebView経由でサーバー側にトークンを送信。
 サーバー側ではCookieを発行して、トークンを保存しなければならない。 WebViewを利用すると管理が少し複雑になる。 しかし、多くのアプリでWebVIewが用いられている。
 今回はWebViewを利用する際のトークン・Cookieの管理に ついて説明をする。
  31. 31. OpenID  Connectトークンの種類 アクセストークン   リフレッシュトークン   IDトークン
  32. 32. OpenID  Connectトークンの種類 アクセストークン   リフレッシュトークン   IDトークン 【memo】 前述でIDトークンが登場してきたが、
 OpenID Connect(以下、OIDC)では
 3つのトークンが定義されている。
  33. 33. OpenID  Connect,  ふたつのトークンの物語 http://blog.openid.or.jp/post/12874061176/openid-‐‑‒connect-‐‑‒tale-‐‑‒of-‐‑‒two-‐‑‒tokens
  34. 34. OpenID  Connect,  ふたつのトークンの物語 http://blog.openid.or.jp/post/12874061176/openid-‐‑‒connect-‐‑‒tale-‐‑‒of-‐‑‒two-‐‑‒tokens 【memo】 アクセストークンとIDトークンの話について
 興味がある方はこの翻訳ブログを参照してほしい
  35. 35. ネイティブ/WebView/バックエンドで
 トークン/Cookieを保存
  36. 36. ネイティブ/WebView/バックエンドで
 トークン/Cookieを保存 【memo】 ネイティブ側で処理をして、WebViewを経由して、
 サーバー側にトークンを送信、保存。
 WebViewをつかうといろいろ実装しなければならなくなる。
  37. 37. トークン・Cookieによる   セッション管理理が⼤大変
  38. 38. ログインサイクルで   ⼤大事なこと
  39. 39. 未ログイン   状態 ログイン   状態 新規登録 ログアウト アカウント   切切り替え パスワード 再確認 ログイン トークン Cookie   有効期限切切れ
  40. 40. 未ログイン   状態 ログイン   状態 新規登録 ログアウト アカウント   切切り替え パスワード 再確認 ログイン トークン Cookie   有効期限切切れ 【memo】 ログイン状態・未ログイン状態の状態遷移図。 ログイン/ログアウト/アカウント切り替えなどユーザー
 アクションで状態遷移するパターンと、トークン/Cookieの
 有効期限切れで遷移するパターンがある。
  41. 41. ログイン時には… Cookie…有効   アクセストークン…有効   リフレッシュトークン…有効   IDトークン…有効
  42. 42. ログアウト時には… Cookie…無効   アクセストークン…無効?   リフレッシュトークン…無効?   IDトークン…無効?
  43. 43. Cookieの有効期限切切れ時には… Cookie…無効   アクセストークン…有効?  無効?   リフレッシュトークン…有効?  無効?   IDトークン…???
  44. 44. トークンの有効期限切切れ時には… Cookie…有効?  無効?   アクセストークン…無効   リフレッシュトークン…無効   IDトークン…???
  45. 45. アカウント切切り替え時には… Cookie…無効   アクセストークン…???   リフレッシュトークン…???   IDトークン…???
  46. 46. トークンとCookieの   有効/無効の判断…難しい
  47. 47. IDトークンとは
  48. 48. IDトークンとは 【memo】 トークンとCookieの話を進める前に
 OIDCにおいてIDトークンは重要な機能で
 あるため簡単に説明をしておく。
  49. 49. http://www.slideshare.net/kura_̲lab/devsumi201413c5
  50. 50. http://www.slideshare.net/kura_̲lab/devsumi201413c5 【memo】 昨年2014年のデブサミでもIDトークンについて 説明をしているので参照してほしい。
  51. 51. IDトークンとは issuer  が  audience  のために     subject  を認証したかを⽰示すトークン
  52. 52. IDトークンとは issuer  が  audience  のために     subject  を認証したかを⽰示すトークン Identity Provider
  53. 53. IDトークンとは issuer  が  audience  のために     subject  を認証したかを⽰示すトークン Relying Party
  54. 54. IDトークンとは issuer  が  audience  のために     subject  を認証したかを⽰示すトークン End-User
  55. 55. IDトークンとは Facebook  が  SlideShare  のために     kura  を認証したかを⽰示すトークン
  56. 56. IDトークンとは Yahoo!  が  GREE  のために     kura  を認証したかを⽰示すトークン
  57. 57. 発⾏行行時に検証して   IDトークンは   保持しなくてもよい
  58. 58. { “iss”:”https://auth.yahoo.co.jp”, “sub”:”123456789”, “aud”:”abcdefg, “nonce”:”xyz”, “iat”:1291836800, “exp”:1300819380 } IDトークンの有効期限
  59. 59. IDトークンの有効期限 =IdPの有効期限
  60. 60. WebViewに発⾏行行するCookieの 有効期限は
 アプリのポリシーで決めてよい ≠IDトークンの   有効期限 Cookieの
 有効期限
  61. 61. トークンはCookieの 有効/無効にあわせる ポイント!!
  62. 62. トークンはCookieの 有効/無効にあわせる ポイント!! 【memo】 トークンを有効にすべきか無効にすべきか迷ったら
 Cookieの状態に合わせると管理がシンプルになる。
  63. 63. ログアウト時には… Cookie…無効   アクセストークン…無効   リフレッシュトークン…無効   IDトークン…保持しなくてよい
  64. 64. Cookieの有効期限切切れ時には… Cookie…無効   アクセストークン…無効   リフレッシュトークン…無効   IDトークン…保持しなくてよい
  65. 65. Cookieの有効期限切切れ時には… Cookie…無効   アクセストークン…無効   リフレッシュトークン…無効   IDトークン…保持しなくてよい 【memo】 ログアウトしてCookieは削除するが、バックエンドのバッチ
 処理・オフライン処理でAPIを利用する場合はアクセス
 トークン、リフレッシュトークンは無効化しない場合もある。
 必ずしもトークンを無効化しなければいけないわけではない。
 ユースケース次第。エンドユーザーからみて自然な振る舞いなら よい。
  66. 66. トークンの有効期限切切れ時には… Cookie…有効   アクセストークン…無効→再発⾏行行   リフレッシュトークン…無効→再発⾏行行   IDトークン…保持しなくてよい
  67. 67. アカウント切切り替え時は?
  68. 68. 無効化すると再発⾏行行が⼤大変なため   無効化せずにアカウントに   ひもづけて保持しておいてよい
  69. 69. アカウント切切り替え時には… Cookie…別アカウントで発⾏行行   アクセストークン…保持   リフレッシュトークン…保持   IDトークン…保持しなくてよい
  70. 70. アカウント切切り替え時には… Cookie…別アカウントで発⾏行行   アクセストークン…保持   リフレッシュトークン…保持   IDトークン…保持しなくてよい 【memo】 別のアカウント(ID)に切り替える場合には、そのIDで Cookieを発行するが、切り替え前のIDのトークンは 無効化せずバックエンドでそれぞれのIDにトークンを ひもづけて保持する。
  71. 71. Androidはブラウザー経由で
 OpenID  Connect
  72. 72. ブラウザー(Chrome)を利利⽤用してほしい
  73. 73. IdPのログインセッションを共有できる WebViewでなく   ブラウザーを推奨する理理由
  74. 74. Yahoo!地図のログインフロー
  75. 75. Yahoo!地図のログインフロー メニューを開く
  76. 76. Yahoo!地図のログインフロー ログインを押下
  77. 77. Yahoo!地図のログインフロー ブラウザーが起動
  78. 78. Yahoo!地図のログインフロー ブラウザーが起動 【memo】 Yahoo! JAPANのアプリもブラウザー(Chrome)を
 利用したログインフローを取り入れている。
  79. 79. ID Taro セッション共有 ID Taro ID Taro ID Taro WebView セッション   共有できない Your App 必ずログイン
  80. 80. ID Taro セッション共有 ID Taro ID Taro ID Taro WebView セッション   共有できない Your App 必ずログイン 【memo】 WebViewを利用するとWebView内にはIdP(Facebookや Yahoo!)のCookieが存在せず未ログイン状態なので、 初回は必ずにログインすることになる。
  81. 81. ID Taro セッション共有 ID Taro ID Taro ID Taro WebView セッション   共有できない Your App 必ずログイン 【memo】 ブラウザーを利用すると既にブラウザー上にIdPにログイン していれば、再度ログインする必要がないため
 ID・パスワードを入力する手間が省けるメリットがある。
  82. 82. SSL通信・ドメインをみて
 フィッシングでないことを確認できる WebViewでなく   ブラウザーを推奨する理理由
  83. 83. WebView   SSL通信・ドメインを確認できない フィッシング?暗号化通信
 されている?
  84. 84. WebView   SSL通信・ドメインを確認できない フィッシング?暗号化通信
 されている? 【memo】 アプリ内のWebViewを用いてログインフォームを表示する とアドレスバーが表示されず、SSL通信されているのか判断 できない。また、ID・パスワードを抜き取るフィッシングな のかドメインがみれないため確認できない。
  85. 85. ブラウザー(Chrome)   SSL通信・ドメインを確認できる 暗号化通信
 されている! フィッシング
 ではない!
  86. 86. ブラウザー(Chrome)   SSL通信・ドメインを確認できる 暗号化通信
 されている! フィッシング
 ではない! 【memo】 ブラウザーを利用するとアドレスバーをみることができ SSL通信されているか、ドメインをみてフィッシング ではないかをユーザーが確認することができる。
  87. 87. WebViewをつかって   ログインするアプリが増えると   フィッシングを助⻑⾧長する可能性がある
  88. 88. WebViewをつかって   ログインするアプリが増えると   フィッシングを助⻑⾧長する可能性がある 【memo】 ブラウザーを利用するアプリが増えると、WebViewによるID・パスワード を抜き取られるフィッシングの被害も減らせるかもしれない。
  89. 89. iOSアプリで   ブラウザーをつかうと…
  90. 90. UXを理理由にApp  Storeの   審査でリジェクトされること   もありますが…
  91. 91. Androidアプリは   リジェクトされる可能性は低い
  92. 92. Androidアプリは   OpenID  Connectと相性がよい!
  93. 93. ユーザーに安⼼心してもらえるように   ログインにはブラウザーを!
  94. 94. Growth!
  95. 95. 【memo】 IDに携わってから、いろいろな場面で成長していると感じることがある。 そのひとつはOpenID ファウンデーション・ジャパン(以下、OIDF-J)の エヴァンジェリストになったことである。 ! OIDF-Jにはプロデューサーというポジションがある。アイドルマスターで いうところのアイドル候補生がエヴァンジェリスト。プロデューサーが 無茶ぶりをしてくるがおかげで成長したと実感することがある。 ! 成長するにあたって大事なのは周囲から期待されていることを理解し、 Mになって、たくさんの仕事を引き受けて挑戦し経験を重ねていくことだ と思う。
  96. 96. ご清聴ありがとう   ございました。

×