スマレジ・デベロッパーズ・コミュニティはアーカイブされました。


これまでに投稿いただいた内容は引き続きご覧いただけます。

今後のお問い合わせはこちら

本番環境での「ユーザー認可の要求」API(id.smaregi.jp/authorize)について

スマレジ・プラットフォームAPI 共通仕様書に記載されているログイン (β)のやり方を参考に、アプリユーザの契約IDを取得しようとしています。

https://developers.smaregi.dev/apidoc/common/#/paths/~1dummy/get

開発環境では問題なく「アプリがアカウントへのアクセスをリクエストしています」が表示されるのですが、本番環境で同様の取得を行おうとすると「"error": "invalid_client"」が表示されます。

・アプリは公開先を限定した上で公開している

・client_id, redirect_uriは環境設定の本番環境のものと一致することは確認

何か他に必要な対応はありますか?

ベストアンサー

  • November 2020 編集されました 回答済み✓

    @まさお

    誠に勝手ながらユーザー情報を元に話題のアプリについて調べさせていただきました。(パブリックなコミュニティですので、極力アプリ情報については伏せさせていただきます。)

    本番検証機能を利用してtest_developersに接続済みの状態でテストをしてみたという経緯かと思います。(私の誤りであればご指摘下さい。)

    本番検証機能を利用している場合、redirect_uriやscopeの設定は前回承認時の古い情報を利用するようになっています。

    なぜかというと、本番検証時にこのredirect_uriやscopeの設定を更新してしまうと、スマレジの審査前やアプリマーケットへ公開前に本番の設定が変わってしまい、開発者の環境設定と齟齬が生じると考えたためです。


    結論を申しますと、本番検証機能を利用するときは(審査をすませ、)公開後に行うようにしてください。

    公開前に検証したいときは、前回の承認時情報を使用してください。

    具体的にはredirect_uriにhttps://shopXXXXXXXXXXではなく、前回承認時のデフォルト値urn:ietf:wg:oauth:2.0:oobを設定してみてください。


    このようなユースケースがあることが今回の事例で発覚いたしましたので、デベロッパーズサイトの本番検証機能の簡単化を検討させていただきます。


    他に何かわからないことがありましたらコメントしてくださいませ。

    よろしくお願いいたします。

答え

  • ご回答ありがとうございます。

    前回承認時のデフォルト値urn:ietf:wg:oauth:2.0:oobを設定してみてください。

    こちらを実行したところ「アプリがアカウントへのアクセスをリクエストしています」が表示されることを確認しました。

    デベロッパーズサイトの本番検証機能の簡単化を検討させていただきます。

    今の状態だと「アプリがアカウントへのアクセスをリクエストしています」の画面から先の検証が行えないので、ご対応いただけるようよろしくお願いいたします。

  • 横から失礼します。


    私も同様の事象に遭遇しました。

    (初回審査承認後に、redirect_uriを含めた本番環境の設定を変更、再承認頂いていました)


    デベロッパーズサイトの本番検証機能の簡単化を検討させていただきます。


    私からも、ご対応頂けるようお願い申し上げます。