は、私は、ユーザーが独自のURLを持つアプリケーションを開発しています、そして、彼らは、GoogleのAPIを使用する必要がある - 異なるリダイレクトURIを持つもちろん、任意の量のリダイレクトURIを処理するにはどうすればよいですか?
- www.example.com/johndoe/google/login のように
www.example.com/foobar/google/login
は、私は、ユーザーが独自のURLを持つアプリケーションを開発しています、そして、彼らは、GoogleのAPIを使用する必要がある - 異なるリダイレクトURIを持つもちろん、任意の量のリダイレクトURIを処理するにはどうすればよいですか?
www.example.com/foobar/google/login
ワイルドカードは、Google OAuth2リダイレクトURIではサポートされていません。 1つのリダイレクトURIを使用し、stateパラメータのユーザー情報を渡すことをお勧めします。応答として状態パラメータが返されます。承認コード/トークンを受け取ったら、状態パラメータを検索して適切に応答を処理できます(たとえば、ユーザー固有のURLにリダイレクト)。
This answerさらに詳しい情報があります。
ええと私はどのように応答を処理するのですか?そこには「状態」パラメータではないようです。コードを受け取った後にリダイレクトURIを使用することはできますか?実際のAPIを呼び出すのはどうですか?私がアクセストークンを持っている場合、どこからでもそれを使うことができますか? – r1pp3rj4ck
リクエストを準備するときに、stateパラメータを渡します。たとえば、そこにユーザー名を含めることができます。承認コードを受け取り、アクセストークン/リフレッシュトークンを交換すると、有効なアクセストークンと、ユーザー名が入力された状態パラメーターが表示されます。それをどうするかは、アプリケーションによって決まります。アクセストークンの主な制限は、短期間であることです(レスポンスのexpires_inパラメータをチェックすることができます.3600秒と思います)。したがって、アクセストークンのために長期間更新されたリフレッシュトークンを定期的に交換する必要があります。 – vlatko
ありがとう!実際には、私のコメントに答える前にすべてを解決しましたが、それでもいくつかのことがクリアされています。 – r1pp3rj4ck
は http://stackoverflow.com/questions/7722062/google-oauth2-redirect-uri-with-several-parametersを おかげで答えを参照してください! – Kiran