現在JavaScriptの設定が無効になっています。このページを利用するにはJavaScriptの設定を有効にしてください。Connect)をリリースしました!こんにちは!IDサービスの河内です。Connectをサポートした新しい認証認可プロトコルをリリースしました。その名もYConnect!今日はYConnectの簡単な紹介をしていきます。仕様に関するドキュメントは下記にまとめてあります。https://developer.yahoo.co.jp/yconnect/YConnectとOAuth1.0違いYConnectとOAuth1.0の大きな違いは下記のものがあります。署名が不要OAuth1.0では複雑な署名が全てのリクエストで必須となっており、開発難易度が高かったため実装に苦しめられるエンジニアが続出していました。YConnectでは全てのAPIをhttps化することで署名を省くことができ、簡単に実装することができるようになりました。Connectも同時サポートしました。先行して開発を行っていたため、現在の仕様と一部異なる部分があります。JAPAN)とアプリケーション間で認証情報をトークンとして連携できるプロトコルです。OAuth2.0の仕様をベースとすることで「認証」と「認可」をスムーズに実現し、多くのユースケースに対応できる仕組みとして考えられています。YConnectには「IDトークン」といったユーザー認証情報を含む改ざん検知用の署名付きトークンを返却することができます。従来のOAuthではアクセストークンが発行されたことを認証成功と判断しID連携を行ってきましたが、アクセストークンの置き換え攻撃をされても検知することができませんでした。そこでIDトークンで発行元、発行先、nonce値のチェックを行うことで初めて正しくユーザー認証できたとみなすことができます。様々なユースケースに対応OAuth1.0はウェブアプリケーションのみで、アプリケーションへの組み込みには適していなかったのですが、YConnectでは下記のようなユースケースに対応しています。ウェブサーバーアプリケーションネイティブアプリケーションブラウザーベースアプリケーションデスクトップアプリケーションユースケースによって適した認可フローが定義されているため、用途によって使い分けることが可能となっています。Grant)が利用できます。クライアント上で取得するため、リフレッシュトークンは発行されません。認証要求や出力するテンプレートを制御できるログイン画面や同意画面の出力をアプリケーション側で制御することが可能になりました。出力するテンプレートの種類をPC用、スマホ用、フィーチャーフォン用(近日対応予定)とアプリケーション側でコントロールすることができます。サポート認可フローOAuth2.0で定義されている認可フローは4種類あり、YConnectでは以下の2種類を一般開発者向けに公開しています。Providerへ送信される仕組みになります。JAPANとしてはサポートはしていますが特殊なケースでのみの利用としています。一般公開は行っていません。Grant」は現在はサポートしていませんが、今後2-legged認証として検討していきます。アプリケーションの種類クライアントが登録できるYConnectのアプリケーションの種類は「サーバーサイド」と「クライアントサイド」の2種類あります。「サーバーサイド」はウェブサービスやバックエンドのサーバー上で動作するようなネイティブアプリを指し、「クライアントサイド」はクライアント上で動作するようなネイティブアプリやブラウザーアプリを指します。サーバーサイドのアプリにはsecretを発行し、Basic認証にてクライアント認証を行います。対して、クライアントサイドのアプリはデバイス上にアプリケーションのクレデンシャルを保存する必要があるため、クライアント認証は行いません。事前登録してあるコールバックURLをリクエストし、有効性の確認をすることで他のアプリケーションにクレデンシャルを発行することを防いでいます。ユーザーの属性情報も取得できる!YConnectではユーザーの属性情報を取得できるAPIを公開しています。取得したい属性情報はアプリケーション側でリクエスト時のscopeパラメータで指定することが可能で、ユーザーが同意することで指定した属性情報を取得できます。これを利用してID連携の際の初期登録のフォームへプリセットしたり、アプリケーション側で性別や年齢別に最適化されたページを表示することが可能になります。取得できる情報はこちらのレスポンスの表を参照ください。IDと連携したい!といった考えをお持ちの方、ぜひYConnectを利用してみてください!興味を持った方は下記のドキュメントもご覧ください。https://developer.yahoo.co.jp/yconnect/また、簡単に実装できるようにSDKも用意しております。ダウンロードしてお使いください。今後もブログにてYConnectの紹介を続けていきます。SDK」について説明したいと思います。JAPANでは情報技術を駆使して人々や社会の課題を一緒に解決していける方を募集しています。詳しくは採用情報をご覧ください。JAPANのサービス開発を支える技術やデザイン、文化を発信しています。Reserved.このページの先頭へ。