1

http://localhost:4200でホストされている SPA があります。 http://localhost:1337 でホストされている API もあります。

私の SPA は Torii を使用してフローを処理し、authorizationCode を取得してから、処理のためにサーバーに送信しようとします。

Google での私の構成は次のとおりです。

Google oAuth 構成

ご覧のとおり、念のため、考えられるすべての URL を含めました。

ここで、その authenticationCode をサーバーに渡して検証し、クライアントにセッションを提供すると、常に戻ってきますredirect_uri_mismatch- Google へのリクエストで確認できますが、redirectUrl はまさに oAuth 構成ページにリストされているものです:

http://localhost:1337/api/v1/auths/google_oauth2

私はこれを間違っていますか?ブラウザからプロセスを開始してから、サーバーから認証コードを検証できるようにする必要がありますか?

API キーとクライアント ID とシークレットがすべて正しいことを確認できます。

[アップデート]

リポジトリは次のとおりです: https://github.com/wayne-o/ember-waterlock-example

4

1 に答える 1

0

これを行うには、ソースとリダイレクト URL が同じである必要があります。さまざまな場所でホストされている可能性のあるさまざまなアプリケーション「パッケージ」で認証コードを共有できることをGoogleドキュメントで読んだので、これは苦痛です。

とにかく、これを機能させるには、次のコマンドを使用して、ember を介して API をプロキシできます。

ember server --proxy http://localhost:1337

次に、http://localhost:4200を介して実行されるようにすべてを構成します。これには、Google oauth コンソールにある可能性のあるすべての URL が含まれます。

そこから、あなたの途方もない夢のすべてが実現します。

これは、AFAICSがこれをすべて必要とせずに機能するはずであるため、不自由です。

于 2015-09-23T10:19:22.327 に答える