1

Google でのログインを自分の Web サイトに実装しようとしています。ユーザーは 3 つのドメインで私のサイトにアクセスできます

1) 通常のリンク (HTTP および WWW...) 2) http://example.com - www なし 3) apps.facebook.com/example - facebook アプリ

ユーザーがこれら 3 つのオプションで Google に接続できるようにします。

ユーザーを認証するために、gapi (Google JavaScript ライブラリ) を使用しています。私のコードは次のようになります:

   var config = {
        'client_id': 'my_client_id',
        'scope': 'my_scopes',
        **'redirect_uri' : "https://www.example.com/oauth/",**
        'immediate': immediate
    };
    **gapi.auth.authorize(config, function(){});**

ご覧のとおり、gapi の構成の一部としてリダイレクト uri を設定しています。3 つのドメインに同じ URI を与えるために、いくつかのポップアップを作成しました。

私の問題は、WWW を使用せずにドメインから自分のサイトにログインした場合、認証が機能せず、ユーザーが redirect_uri リンクにリダイレクトされないことです。つまり、ユーザーのトークンがありません。

redirect_uri の WWW を削除している場合 ( https://example.com/oauth/のようになります)、Facebook ドメインが機能していません...

それはとてもイライラしています..この種の問題に精通している人はいますか? 何か案が?

私たちはそれに何時間も費やしました....

ありがとうZ

4

1 に答える 1

1

Google API コンソールで 1 つのクライアントに対して複数のリダイレクト URI を登録できるため、ドメインごとに 1 つ登録しredirect_uri、認可リクエストのパラメータで現在アクセスしているドメインに 1 つを渡します。ドメイン全体で同じリダイレクト URI を使用する必要がないため、状態/トークンの復元の問題が解決されます。ここに画像の説明を入力

于 2014-12-29T17:35:49.093 に答える