Age of Zã®ã¢ã«ã¦ã³ãã®äº¤ææ²ç¤ºæ¿ãã²ã¼ã ãã¬ã¼ãã¯ã²ã¼ã å°éã®ããªããµã¤ãã§ããåå¼ã¯ã¡ãã»ã¼ã¸ã§ç°¡åã«ã§ãã¦ããéã®ããã¨ãã¯ã²ã¼ã ãã¬ã¼ãã仲ä»ããããå®å¿ï¼Age of Zã®ã¢ã«ã¦ã³ããã¼ã¿ã¯ã²ã¼ã ãã¬ã¼ãã«ãä»»ãï¼ Webアプリと同様に認証状態にするためには忘れずにIDトークンを検証してください。検証に問題がなければネイティブアプリ内をログイン状態とします。, このパターンを用いたアプリがスマフォにインストールされているほど、ブラウザーのログインセッションを利用した認証の省略ができる可能性が高まります。 アプリ内での画面遷移になるためブラウザーを起動するパターンに比べてUXの低下を防ぐことができます。 ログインの手間が省ける一方で、ネイティブアプリとブラウザー間で画面遷移を必要とするためUXの低下を招く可能性もあります。, 推奨したい理由のひとつにフィッシング防止があります。認証にはID・パスワードが必要になりますが、ブラウザーであればヤフードメインを確認することができフィッシングを防ぐことも可能です。, ※起動したブラウザー上での広告・販売促進、新規ユーザー登録などによってアプリの審査でリジェクトされる可能性がありますが、Yahoo! JAPANのWeb APIや認証、エンドユーザーの属性取得APIを実装したことがありますか。これらを利用するためにはYahoo! ããã«ã¡ã¯ãIDé£æºæ
å½ã®ããï¼@kura_labï¼ã§ãã ã¿ãªããã¯Yahoo! ã¨ã¤ã¸ãªãã¼ããï¼age of zï¼ã®ãµãã¢ã«ã¦ã³ãã¯ãé£æºã§ããã¢ã«ã¦ã³ãã®æ°ã ãä½ããã¨ãã§ãã¾ãã é£æºã§ããã¢ã«ã¦ã³ãã¯ãiPhoneã®å ´åFacebookãGame CenterãApple IDã®3ã¤ã§ãã SNSé£æºã¨ã¯ãã²ã¼ã ãã¼ã¿ãSNSãªã©ã®ã¢ã«ã¦ã³ãã«ç´ä»ããã㨠ã§ãã ã»ã«ãªã¢ã³ãã©ã¤ãºã³ã¯ãã©ã¦ã¶ã²ã¼ã ãªã®ã§ããã©ã¦ã¶ããã¢ã¯ã»ã¹ããã°ãã¤ã§ãã©ãã§ãã²ã¼ã ãéã¶ãã¨ãã§ãã¾ãã SNSé£æºããã¦ãã®ã¢ã«ã¦ã³ãã§ã²ã¼ã ã«ãã°ã¤ã³ããã°ãPCã®ç¶ããã¹ããã§ãã¹ãã㮠⦠Age of Zã§ã®ãµãã¢ã«ã¦ã³ãéç¨æ¹æ³ã«ã¤ãã¦è§£èª¬ãã¦ããã¾ãããµãã¢ã«ã¦ã³ããä½ããããå®éã«è³æºãéãã¦æ¸¡ãã¦ã¿ã¾ããããé©å½ã«éç¨ãã¦ãã¦ãè³æºã¯éã¾ãã¾ããããµãã¢ã«ã¦ã³ããå¹æçã«éç¨ããã«ã¯ã³ããããã¾ãã JAPAN内のサービスや他のWebアプリでIDが切り替わるとヤフードメインの認証状態も切り替わることをあらかじめ考慮しておく必要があります。, ※ヤフードメインのアカウントを切り替えるためには、Authorizationリクエスト時にpromptパラメーターを指定する必要があります。詳しくは Authorizationエンドポイント をご参照ください。, スマフォのSafari, Chromeなどのブラウザーを用いてネイティブアプリをログイン状態にします。, ネイティブアプリからカスタムURIスキームを用いてブラウザーを起動し、ブラウザー上のログインセッションを利用してIDトークンを発行します。 ãã¦ããAge Of Zãã«ããã¦ããã¡ã¼ã ãä½æããã«ã¯ã¾ãä½ãããã°ããã®ãï¼ ã¯ãããã åã«ããã1ã¤ã®ã¢ã«ã¦ã³ãã§æ°è¦ã«ã²ã¼ã ãéå§ããã ãã§ãã ç°¡åã§ããã(ç¬) ããããã¡ãã£ã¨å¾
ã£ãï¼ï¼ï¼ ä½ææã«ãæãéè¦ã¨ãããããã¢ã«ã¦ã³ãé£æºããããå¿
è¦ãããã¾ãã ネイティブアプリの場合はIDトークンを検証後アプリのローカルをログイン状態にしましたが、ほとんどのWebViewアプリはバックエンドサーバーで処理しているためサーバーにIDトークンを送信することになります。サーバーへのIDトークンの送信方法はいくつかありますが、ネイティブアプリの実装に比べてやや複雑な実装になります。, WebViewはブラウザーのようにブラウジングできるため、フローはシンプルでアプリ内部でWebアプリと似た実装をすることになります。 Age of Zã®ã¤ãã³ãã»ãã£ã³ãã¼ã³ä¸è¦§ãæ²è¼ãã¦ãã¾ããã¢ããªããã©ãã¼ããã¨ãã¤ãã¼ã¸ã§ã«ã¬ã³ãã¼å½¢å¼ã§è¦ããã¾ããã¤ãã³ãã®æ
å ±ã¯èªç±ã«è¿½å åºæ¥ã¾ãã®ã§ä»ã®ã²ã¼ã ããã§ãã¯ãã¦ã¿ã¦ãã ⦠Age Of Zã§ãé£æãç³æ²¹ãªã©è³æºã足ããªãã¦é½å¸éçºãã§ããªãâ¦ãããªã¨ãã«ã¯ãµãã¢ã«ã¦ã³ãã§æ©ã¿è§£æ±ºï¼ãµãå¢ããã¡ã¼ã (farm)ãè¾²å ´ã¨ãå¼ã°ããã²ã¼ã éå¶ãµã¤ããå
¬èªï¼ç¡æã®ãµãã¢ã«ã¦ã³ãã®ã³ãã«ã¤ãã¦ã¾ã¨ãã¾ããã JAPANã®Web APIãèªè¨¼ãã¨ã³ãã¦ã¼ã¶ã¼ã®å±æ§åå¾APIãå®è£
ãããã¨ãããã¾ããã ããããå©ç¨ããããã«ã¯Yahoo!IDé£æºãç¨ãã¦ã¢ã¯ã»ã¹ãã¼ã¯ã³ã®åå¾ããã°ã¤ã³ã®å®è£
ãå¿
è¦ã«ãªãã¾ãã æ°ãããã£ã©ä½ãåã«å¢é£æºãã¨ãããã«æ°ãã¤ãã¦ã 10 ï¼ åç¡ãã§ãããåç¡ãï¼ ï¼2019/12/18(æ°´) 01:35:24.50 ID:1l9T06fyS.net ãµãã¢ã«ã¦ã³ãã¯è³æºæ¡åã®åºç¤ã¨ããé½å¸ã¥ãããç®æãã¾ãã ææ®å®ã¹ãã«ã¯ãçºå±ãä¸ãçç£ãæ¡åã®è½åãä¸ããã¢ã¯ãã£ãã¹ãã«(è±ä½ã»è¡ååå復ã»æ¡åé度ã¢ãã)ãæå¹çã«æ´»ç¨ãã¾ãããã ã¨ã¤ã¸ãªãã¼ããã§ã¯ãè³æºã¯4種é¡ããã¾ãã é£ç³§ãç³æ²¹ãéãã¬ã¢ã¢ã¼ã¹ãããããã®ãã㵠⦠æ¬ã¢ã«ã¦ã³ãã®ã¢ã«ã¦ã³ãé£æº ã¾ãã¯ãæ¬ã¢ã«ã¦ã³ããGameCenterãªã©ã¨é£æºããã¾ããããããããããã¨ã§ã²ã¼ã æ
å ±ãããã¯ã¢ããããã¾ãã ãã£ã©ã¯ã¿ã¼æ
å ±âã¢ã«ã¦ã³ãâiPhoneã ã£ãããGameCenterãã¿ãããAndroidã ã£ãã ネイティブ、WebView(バックエンドサーバー)をログイン状態にしているためより汎用的になりますが、両方でログインセッションを持つことになるためセッション管理が大変になります。, ブラウザーを起動せずWebViewで認証を行うため前述のパターンに比べてやや実装は楽になりますが、このパターンもネイティブ、WebViewのそれぞれをログイン状態にする実装は必要になります。, Webアプリから最後はネイティブとWebViewのハイブリッドアプリまで7つの実装パターンをご紹介しました。UXの低下やサービスの要件によっては難しいかもしれませんが、個人的にはフィッシングを助長しないためのブラウザーを用いるパターンの利用をお勧めします。 ID連携を用いてアクセストークンの取得やログインの実装が必要になります。単にアクセストークンの取得、ログインの実装といってもWebアプリ、ネイティブアプリにおいていろいろなパターンがあります。, SDKを用いる場合ほとんど意識せずに実装もできますが、提供するサービスのUXやシステムの環境に合わせてより最適な実装をするためには、それぞれの特徴を理解し適切なパターンを選択する必要があります。, Yahoo! この他にも実装方法はたくさんあるため、ご自身のサービスの実装設計の際にご紹介したパターンを参考にしてもらえると幸いです。, Yahoo! Facebookã®ã¢ã«ã¦ã³ããè¤æ°ãæã¡ã§ãããããFacebookã¢ããªãã¾ãã¯ãã©ã¦ã¶ï¼SafariãChromeãªã©ï¼ã§ãRettyã«é£æºãã¦ããªãFacebookã¢ã«ã¦ã³ãã«ãã°ã¤ã³ããã¦ããå¯è½æ§ãèãããã¾ãã ä¸è¨æé ã«ã¦ã確èªãã ããã 室ã«ã¤ãã¦, ä¸å½å¿å¤§æ¦mã®ãªã»ãã©ã¨äº¤æã³ã¼ãã«ã¤ãã¦. Age of Z Origins(ã¨ã¤ã¸ãªãã¼ãã)ã®ææ°ã¢ãããã¼ãæ
å ±ãã¾ã¨ãã¦ãã¾ããæ°æ
å ±ãç¥ãããæ¹ã¯åèã«ã©ãããã¡ã¼ã«ã¢ãã¬ã¹ãã¢ã«ã¦ã³ããã¼ã¿ã¨ç´ä»ããå¯è½ã«ãªã£ãããã£ã©ã¯ã¿ã¼ãã¼ã¿ç´å¤±æã«ç´ä»ããã¦ããã°å¾©æ§ã§ããå¯è½æ§ãããã®ã§ãå¿ããé£æºãã¦ãããã ãããã¨ã§ãè¡èªä½ã®æ¦éåãä¸ãã¦ããã¾ãã ãã¬ã¤ã¤ã¼ã管çããé½å¸ã«ã¯ãæ¢ã«å¹¾ã¤ãã®å»ºé ç©ãåå°ãç¨æããã¦ãã¾ãããã©ããã¾ã³ãã®è¥²æãåãã¦æ©è½ããªãç¶æ
ã«ãªã£ã¦ãã¾ãã åãã«ããªããã°ãªããªãã®ã¯ã¾ã³ããåãã¦åå°åºã奪éããæ½è¨ã使ç¨åºæ¥ãããã«å建ãããã¨ã§ãã æ»æ ⦠ã¿ããªã¼å
æ°ï¼ ãããªã ãð Age of Zã¨ããã²ã¼ã ãããã¾ããã¹ããã¨PC両æ¹ã§ãã¬ã¤ã§ããã¾ã³ããã£ãã§ã³ã¹ã¹ãã©ãã¸ã¼MMOã§ãã 課éããã°æéç¯ç´ãã¦é²ãããã®ã²ã¼ã ã§ããç¡èª²éã§ãå ã¨ã¤ã¸ ãªã ã¼ãã(Age of Z Origins)ã«é¢ããéè«ãããéã«ã使ããã ãããç°¡åãªè³ªåããã¡ãã§ã©ããã â»ç¦æ¢äºé
ã«åããæ¸ãè¾¼ã¿ã¯è¦ã¤ã次第ãåé¤è´ãã¾ãã 免責事項, ログインセッションの共有はブラウザーのヤフードメイン上でログインしているIDに依存する, WebViewではヤフードメインを確認できないためフィッシングを助長するおそれがある, WebViewを用いたIDトークンの送受信がネイティブアプリに比べてやや複雑である, WebViewアプリ・ブラウザー間で画面遷移が生じるためUXが低下するおそれがある, ネイティブ・WebViewのそれぞれをログイン状態にするため実装が複雑でセッション管理が大変になる. PCã§Age of zããã¬ã¤ãããã¨ã§ãgoogle play storeï¼Androidçï¼ã®Age of zããã¬ã¤ã§ãã¾ãã Androidçã ã¨ãå
ã»ã©è¿°ã¹ãããã«ãã°ã¼ã°ã«ã¢ã«ã¦ã³ããä½åãä½ãã°ä½åã§ããµãã¢ã«ã¦ã³ãã¨é£å¸¯ãã§ãã¾ãã ã¢ã«ã¦ã³ãã®åé¤ããå¸æã®å ´åã¯ããã¹ã¦ã®ãµã¼ãã¹ãåé¤ã®ãããã³ã³ããã¼ã«ããã«ã®ãæ¯æãè¨å®ãç»é¢ã«ãé²ã¿ãã ãããZ.comã¢ã«ã¦ã³ãå¥ç´æ
å ±ã®Z.comã®éä¼ãããZ.comã¢ã«ã¦ã³ããåé¤ããããã¯ãªãã¯ãã¦ãã ããã Age of Zã§ã¯ããã¼ãã¼åéã®ã¬ãã£ããããã¢ã«ã¦ã³ãæ
å ±ããããæåãããã¬ã¤ããããã¨ç°¡åã«ãªã»ãã©ãå¯è½ã§ãã ããããã¬ãã£ãå¼ãã¾ã§ã«æéããããã®ã¨ã建ç©ãã©ã³ã¯ã¢ããããããè³æºãæ¡éããã®ã«æéãå¿
è¦ã¨ããã²ã¼ã ã®ããããªã»ãã©ããããã®æéã§å
ã«é²ããã»ããã ⦠JAPANに限らず同様の仕組みを提供するGoogleやFacebookにおいても同じように実装パターンは存在します。 みなさんはYahoo! ID連携はOAuth 2.0 / OpenID Connectのプロトコルによって認証認可の仕組みを提供しています。Yahoo! JAPANのサービス開発を支える技術やデザイン、文化を発信しています。, プライバシーセンター JAPANが提供しているWeb API、プラットフォーム、ツール類をご紹介します。, Yahoo! JAPANにログインしていて、すでにヤフードメイン上で認証されている場合、2.での認証を省略ができます。, Webアプリ側で認証状態にするためには3.で発行されるIDトークンの検証を行います。IDトークンの仕様、検証の詳細は IDトークンについて をご参照ください。 しかし、WebViewを用いて認証を行うため、必ず一度は認証が必要になることやフィッシングに対する懸念はネイティブアプリでWebViewを用いるパターンと同様です。, 最後にネイティブとWebViewの両方を用いたハイブリッドアプリのパターンをご紹介します。, スマフォのSafari, Chromeなどのブラウザーを用いてネイティブ・WebViewをログイン状態にします。, ハイブリッドアプリでは、ブラウザー間での処理に加えて4.ログイン処理でネイティブ側を、5.ログイン処理でWebView側のそれぞれをログイン状態にする必要があるため実装が複雑になります。 ãDiscordãã¯ã¢ããªçãå©ç¨ããã¨1ã¤ã®ã¢ã«ã¦ã³ããã使ãäºãã§ãã¾ããããã®çºãä»äºã¨éã³ã¯ãµãå¢ãä½æãã¦ä½¿ãåããã人ã¯ä¸ä¾¿ã«æãããã¨ãâ¦ããããå²ã¨ç°¡åã«è¤æ°ã¢ã«ã¦ã³ããä½æã§ããã¢ã«ã¦ã³ãã使ãåããäºãã§ãã¾ãã Twitterã¢ã«ã¦ã³ã Twitterã§ãæ°çæ
å ±é
ä¿¡ã質ååä»çè¡ã£ã¦ãã¾ãããã¡ãããDMã§ã®è³ªåã大æè¿ã§ãï¼ æ¯éAge of Zæ»ç¥ãµã¤ãåºå ±éã¢ã«ã¦ã³ãããã©ãã¼ãã¦ãå¾
ã¡ãã ããï¼ JAPANでは情報技術を駆使して人々や社会の課題を一緒に解決していける方を募集しています。詳しくは採用情報をご覧ください。, Yahoo! RMT.clubã§Age of Zã®åºåãããã¾ãã詳細âããã«ã¡ã¯ã PCã®ã²ã¼ã ãã¡ã¤ã³ã§ãã£ã¦ãã¦ãAOZã®æéãã¨ãããããªã£ã¦ãã¦ã¦ããã©ãã®ã§è²ãã¾ã ç¾å¨ã¯åçã©ã³ãã³ã°12ä½ã®åçã«å±
ã¦ããã®ä¸ã§ã お問い合わせ ID連携をご参照ください。, Yahoo! セッションを共有できないことはデメリットでありつつも、他のアプリとは別のIDを用いてセッションを分けたい場合にはメリットにもなります。, このパターンの欠点は、必ず一度はID・パスワードを入力する認証を求めるにもかかわらず、WebViewではヤフードメインを確認することができないため悪意あるアプリのフィッシングと区別することができないことです。UXが低下する可能性はありますが、セキュリティの観点からブラウザーを利用していただきたいです。, スマフォのSafari, Chromeなどのブラウザーを用いてWebViewアプリをログイン状態にします。, これはネイティブアプリのブラウザーを起動するパターンと似ていますが、WebView内でログイン処理をするところが異なります。 しかし、WebViewはそのアプリに閉じており他のアプリとログインセッションを共有できないため、アプリのインストール後一度は認証をする必要があります。 今回はWebアプリ、ネイティブアプリなどのID連携における実装パターンについてご紹介します。, 一般的なWebアプリ、iOSやAndroidなどのネイティブアプリに加えてWebViewアプリについてそれぞれのパターンの解説とメリット、デメリットをまとめます。, ※各パターンのフロー図はイメージです。掲載上の都合で一部の処理が省略されています。詳細な仕様についてはYahoo! ID連携では審査対象となるリンクのないネイティブアプリ用のログイン画面を表示できます。詳しくは Authorizationエンドポイント のdisplayパラメーターをご参照ください。, ネイティブアプリ内のWebViewを用いてネイティブアプリをログイン状態にします。, ネイティブアプリからWebView経由のログインをしてIDトークンを発行します。 利用規約 ã¢ã«ã¦ã³ãé£æºã®æ¹æ³ ã«ãã¢ãµã¬ã®ã¢ã«ã¦ã³ãé£æºã®æ¹æ³ã¯ãååã²ã¼ã ã®ã¹ã¿ã¼ãæã«è¡¨ç¤ºãããé¸æè¢ããé¸ã¶ãã¨ã§ãã 3æã表示ãããä¸å¤®ãã²ã¹ããã°ã¤ã³ã¨è¨è¼ããã¦ãããããã¢ã«ã¦ã³ãé£æºããå ´åã¯ãã以å¤ãé¸ã³ã¾ãããã 検証が正しくできたらWebアプリをログイン状態にします。4.で必要に応じてWebアプリのドメイン(example.com)に認証状態を持ったCookieを発行します。, ヤフードメインで共有できる認証状態(ログインセッション)は1IDであるため、アカウントを切り替える場合には、再度リクエストを送りログイン画面を表示する必要があります。Yahoo! ã©ã¤ãºãªããã³ã°ãã ï½ã¢ã«ã¦ã³ãé£æº ã¢ã«ã¦ã³ãé£æºã¨ã¯ãç¾å¨ãã¬ã¤ãã¦ããã©ã¤ãºãªããã³ã°ãã ã®ãã¼ã¿ãèªèº«ã®å¥ã®ã¢ã«ã¦ã³ãã¨ç´ã¥ãããã¨ã§ãã ããã§ãæ©ç¨®å¤æ´ãã¢ã³ã¤ã³ã¹ãã¼ã«ãã¦ãã¾ã£ãæã«ããã¼ã¿ãæ®ããã¨ãå¯è½ã«ãªã£ã¦ãã¾ãã 著作権やロゴについて ããæã¡ã§ãªãæ¹ããå©ç¨å¯è½ãªç¡æã®å
±éIDã§ãã CHEERZ IDã¨dã¢ã«ã¦ã³ããé£æºããã¨ãååã®é£æºç¹å
¸ã¨ãã¦CHEERZã®ãã¼ãã¹ãã¤ã³ã1,000ptããã¬ã¼ã³ããã¾ãã