よくある質問(FAQ)
Yahoo! ID連携に関してのよくある質問です。
目次
ユーザー識別子に関する質問
ユーザー識別子とは何を指していますか?
ID Tokenのsubと属性取得APIのsubの値です。
ユーザー識別子の言葉の意味はこちらをご確認ください。
Yahoo! ID連携用語集ページ
現状、Yahoo! ID連携及び属性取得API(UserInfoAPI)では、GUIDまたPPIDのいずれかのユーザー識別子を返却します。
GUIDとは何ですか?
ユーザー識別子の一種で、Globally Unique Identifierの略称です。
現状、Yahoo! ID連携及び属性取得API(UserInfoAPI)では、GUIDまたPPIDのいずれかのユーザー識別子を返却します。
GUIDのフォーマットを教えてください。
文字数:26文字固定
文字種:[0-9A-Z]
※GUIDのフォーマットは変更になる可能性があるためバリデーションなどを設けることは非推奨です
PPIDとは何ですか?
ユーザー識別子の一種で、Pairwise Pseudonymous Identifierの略称です。
PPIDでは同一ユーザーであってもアプリケーションを管理するデベロッパー(Yahoo! JAPAN ID)ごとに異なる値となります。
例えば、2つのアプリケーションAとB(異なるデベロッパーのYahoo! JAPAN IDで管理)においてユーザーCがYahoo! ID連携で認証を行った場合、
アプリケーションAにおけるユーザーCのユーザー識別子と、BにおけるユーザーCのユーザー識別子は異なる値です。
現状、Yahoo! ID連携及び属性取得API(UserInfoAPI)では、GUIDまたPPIDのいずれかのユーザー識別子を返却します。
PPIDのフォーマットを教えてください。
文字数:50文字固定
文字種:[0-9a-zA-Z_-]
※PPIDのフォーマットは変更になる可能性があるためバリデーションなどを設けることは非推奨です
管理しているアプリケーションのユーザー識別子がPPIDかGUIDかはどのように判定できますか?
属性取得APIから返されるsubの値をご確認ください。
GUIDは「26byte固定長」なのに対し、PPIDは「50byte固定長」となります。
GUIDの例:
KVNE5DZLWIY4Y57TRDLURJOOEU
PPIDの例:
xHOs7gRnw2kq6Nd2nMDYg0aAwxLbZmJky4OMrA8v4-7EYZZS00
返却されるユーザー識別子(PPID / GUID)はどうやって決まりますか?
※ 現在、Yahoo! ID連携 v2におけるユーザー識別子(ID Tokenのsubの値と属性取得APIのsubの値)の刷新を進めております。
今後、すべてのアプリケーションのユーザー識別子をPPIDに変更していく計画です。
2021年8月30日以降、新規に登録されたアプリケーションのユーザー識別子はPPIDとなります。
ただし、登録に利用したYahoo! JAPAN IDに「ユーザー識別子がGUIDであるアプリケーション」が1つ以上登録されている場合は対象外です。(この場合、新規に登録されたアプリケーションのユーザー識別子はGUIDとなります)
例えば、2021年9月1日に新しく登録したYahoo! JAPAN IDは
「ユーザー識別子がGUIDであるアプリケーション」が1つも登録されていないため上記条件に該当し、
このYahoo! JAPAN IDで登録するアプリケーションのユーザー識別子はPPIDとなります。
また、以前から利用されていたYahoo! JAPAN IDであっても、ユーザー識別子がGUIDであるアプリケーションの登録が1つもない場合や、以前登録済みのアプリケーションをすべて削除した場合も同様に、2021年8月30日以降に新しく登録するアプリケーションのユーザー識別子はPPIDとなります。
アプリケーション設定に関する質問
アプリケーションを新規登録する際に注意する点はありますか?
アプリケーションを新規登録する場合の注意事項は以下のとおりです。
-
新しく登録したアプリケーションにおけるユーザー識別子はPPIDになる可能性があります。過去に利用していたアプリケーションのユーザー識別子がGUIDだった場合はご注意ください。
詳細については、同ページFAQ内「返却されるユーザー識別子(PPID / GUID)はどうやって決まりますか?」もご確認ください。 - 新しく登録されたアプリケーションのClinet IDやシークレットなどに適用するために既存システムを改修いただく必要がございます。
- 既存のアプリケーションで同意いただいているユーザーも、新しく登録したアプリケーションで再度同意が必要です。
-
リフレッシュトークンの継続利用不可
既存のアプリケーションにて取得されたリフレッシュトークンは、新しく登録したアプリケーションには引き継がれないため、新しいClient IDでの同意取得とトークン発行リクエストが必要です。 -
その他
その他、Yahoo! JAPAN IDまたはClient IDなどを用いて他サービスと契約・申し込み・連携などをしている場合は別途サービス側にお問い合わせください。
「一度登録すると変更できません」の項目を誤って登録してしまった場合どうすればよいですか?
一度ご登録いただいた内容は変更ができませんので、以下のページから新規でClient IDを取得いただき、アプリケーションでご利用くださいますようお願いいたします。
新しいアプリケーションを開発ページ
併せて、同ページFAQ内「アプリケーションを新規登録する際に注意する点はありますか?」もご確認ください。
戻り先URLの複数登録について
設定内容は、アプリケーションの管理から変更できます。最大40個まで設定可能です。
技術的な質問
Access Tokenの有効期限について
Access Tokenの有効期限は1時間(3600秒)と短くなっていますが、Refresh Tokenの有効期限は4週間(2419200秒)と長く設けています。
WebAPIアクセス時にAccess Tokenの有効期限が切れた場合、Refresh Tokenを使ってAccess Tokenの更新を行い、再度同意を求めなくてもWebAPIにアクセスすることが可能です。
サイト側でユーザー単位にRefresh Tokenを保存することを推奨します。
Refresh Tokenはお客様の情報にアクセスできる長期間有効なトークンなので安全に格納してください。
ネイティブアプリのカスタムURIスキームについて
アプリの戻り先であるカスタムURIスキームはデフォルトで発行されます。
カスタムURIスキームの確認、変更はアプリケーションの管理をご確認ください。
response_typeのcode, id_tokenは何を返却要求するパラメーターですか?
codeは認可コードと呼ばれ、Access TokenやRefresh Tokenを発行、取得するために必要な文字列です。
id_tokenはID Tokenと呼ばれるユーザー認証結果の情報を含むトークンで、サービス側でのログイン判定に使われます。
下記の説明も併せてご確認ください。
・Hybridフローの説明
・Authorizationエンドポイントの説明
Proxyサーバー経由でYahoo! ID連携は利用できますか?
SSL証明書での検証が必要なため、単純にリクエストをフォワードするようなProxyの場合は利用はできません。
promptを指定をしない場合の画面遷移について
デフォルト値は、ブラウザーのYahoo! JAPANドメイン(yahoo.co.jp)におけるユーザーのセッション状態に依存します。
Yahoo! JAPANドメインでログインしていない場合はログイン画面、有効期限切れの場合はパスワード再確認画面が表示されます。
以前に同意省略を行なっていない場合は同意画面が表示されます。
promptのnoneはどういうパラメーターですか?
「ログイン状態」かつ「同意が不要な条件」を満たしていない場合は、redirect_uriに指定した戻り先URL(サービス)にエラーが返却されます。
通常、条件を満たしていない場合は適宜ログイン画面や同意画面へリダイレクトしますが、画面を表示せずにサービスでエラーハンドリングをしたい時に使用するパラメーターです。
デバイスが異なる場合も同じClient IDを使用していいですか?
デバイスが異なる場合もセッションを区別していなければ同じClient IDを使用頂けます。
ドメインが異なる場合やネイティブアプリ(iPhone, Android)など、セッションが異なる場合は別のClient IDをご使用ください。
エラーに関する質問
"redirect_uri is invalid."のエラーが表示されました。
アプリケーションの管理画面のアプリケーションの詳細にて記載した登録済みコールバックURLが誤っている可能性があります。
Yahoo! ID連携 v2では、リクエストパラーメータのredirect_uriと、登録済みコールバックURLを完全一致させる必要があります。
そのため、リクエストパラメータとアプリケーションの管理画面にて記載した登録済みコールバックURLが一致しているかご確認ください。
Yahoo! ID連携を導入しているサービスの利用者から、
「利用されていたウェブサイトやアプリケーションの運営者にお問い合わせください。」
というエラーが出たと問い合わせがありました。どういう状態でしょうか?
アプリケーションの情報登録が2022年3月30日までに完了していない、または、登録内容に誤りがあった可能性があります。
情報登録が完了していない場合は下記から登録を行ってください。
アプリケーションの管理ページ
登録完了後、数時間でご登録いただいた内容が反映されます。
情報登録に誤りがあった場合は正しい内容に更新してください。
その他
アプリケーションを登録(Client IDを発行)したYahoo! JAPAN ID、パスワードがわかりません。
セキュリティの観点から、弊社からYahoo! JAPAN IDやパスワードをご案内できません。
以下のヘルプをご確認の上、アカウントの復旧をお試しください。
Yahoo! JAPAN IDに関するヘルプ「ログインできない」
それでも解決できない場合は、新規にYahoo! JAPAN IDを登録のうえ新しいアプリケーションを登録して現在ご利用中のアプリケーションのClient IDとの差し替えをお願いします。
また新規にYahoo! JAPAN IDを登録される場合は、同ページFAQ内「アプリケーションを新規登録する際に注意する点はありますか?」もご確認ください。
メインメールアドレスの情報を変更する場合はどうしたらよいですか?
アプリケーションの詳細から変更いただけます。
下記リンク先ページにある編集ボタンを押下し「メールアドレス」の項目から変更ください。
アプリケーションの管理ページ
※アプリケーションを管理するYahoo! JAPAN IDでのログインが必要です
※変更する前にログインされているYahoo! JAPAN IDで管理されているアプリケーションをご確認ください
※同時に表示されるアプリケーションは1つのYahoo! JAPAN IDに紐づいているため、どのアプリケーションから変更いただいてもログインされているYahoo! JAPAN IDのメインメールアドレスが変更されます
メインメールアドレスの詳細については下記をご確認ください。
Yahoo! JAPAN IDに関するヘルプ「メインメールアドレスを設定・変更する」
Yahoo! ID連携のWebAPIに利用制限はありますか?
利用回数に制限はありません。
ただし、短時間に大量のリクエストが行われた場合には、利用を制限させていただくことがあります。
サービス終了などでアプリケーションが不要になった場合はどうすれば良いですか?
下記のアプリケーションの管理ページから削除ボタンを押下し、アプリケーションを削除してください。
アプリケーション削除前に、以下の点にご注意ください。
- 一度削除したアプリケーションは元に戻すことができません。
アプリケーション削除前に今一度ご確認くださいますようお願いします。 -
Yahoo! ID連携以外のAPIの利用などが無いかあらかじめご確認ください。
アプリケーションを削除した場合、ショッピングAPIなどの機能も利用できなくなります。
Yahoo! ID連携 v2
- Yahoo! ID連携とは
- ガイドラインを確認する
- Yahoo! JAPAN IDを取得する
- Client IDを登録する
- 各種フロー
- ネイティブアプリを開発
- 属性取得API(UserInfoAPI)
- ID Token
- JavaScript SDK
- PHP SDK
- Java SDK
- デザインガイドライン
- APIアクセス実装方法
- Yahoo! ID連携用語集
- FAQ