14

Google ログインを使用するように Meteor アプリをセットアップしようとしています。 /server/config.js ファイルでのセットアップは次のとおりです。

Accounts.loginServiceConfiguration.remove({
service: "google"
  });


Accounts.loginServiceConfiguration.insert({
service: "google",
clientId: "XXXXXXX",
secret: "XXXXXX"
  });

Google でセットアップを localhost:3000 に指定しています。Meteor アプリに accounts-ui と accounts-google をインストールしました。

アプリのホームページにGoogleログインボタンが表示されますが、クリックすると次のようになります。

Error: redirect_uri_mismatch The redirect URI in the request: 
http://localhost:3000/_oauth/google?close 
did not match a registered redirect URI
4

4 に答える 4

6

リダイレクト URL を Google の API コンソールに登録する必要があります。コンソールにログオンし、どのリダイレクト URI が設定されているかを確認します。必要に応じてローカルホストを追加します

アップデート:

私はそれを自分で試して追加しました

 http://localhost:3000/_oauth/google?close 

API コンソールで。Hello World アプリに accounts-google と accounts-ui を追加し、ページにログイン ボタンを追加しました

<body>
    {{loginButtons}}
    {{> hello}}
</body>

ポップアップで要求された権限に同意し、ログインしました。

于 2013-07-31T12:13:43.453 に答える
2

別のアイデア: 自動公開を削除しましたか? その場合、クライアントがユーザーにアクセスできるように、userData を公開する必要があります。

于 2013-08-24T22:28:15.677 に答える
1

https://gotlog.inでも同じ問題があります https://gotlog.in/_oauth/google?closeコールバック URL として 配置すると、次のようになります。

  1. それはエラーです。エラー: invalid_client アプリケーション名がありません

そして、セットアップポップアップで述べたように、適切なコールバック(https://gotlog.in/_oauth/google)を置くと、同じ結果が得られます:

  1. それはエラーです。エラー: redirect_uri_mismatch 要求のリダイレクト URI: https://gotlog.in/_oauth/google?closeが登録済みのリダイレクト URI と一致しませんでした。

私のルート URL はセットアップされ有効ですが、公開された userData はありません。しかし、ドキュメントには次のように書かれています。「デフォルトでは、現在のユーザーのユーザー名、電子メール、およびプロファイルがクライアントに公開されます。」

編集: ここで解決策を見つけました: https://github.com/meteor/meteor/issues/2717

API コンソールに同意画面の情報がありませんでした。はい、コールバック URL の末尾には「?close」が必要です。ビバメテオ=)

于 2014-09-27T19:55:45.583 に答える