0

Java Web アプリケーションで Google OAuth2.0 認証メカニズムを使用しようとしています。ただし、ここで助けを求めている基本的な課題がいくつかあります-

アプリケーションを Google API コンソールに登録し、ログイン URL を開発目的でローカルホスト アプリケーションにリダイレクトしました。ユーザーがアプリケーションを認証した後、サーブレットで Google から提供されたアクセス トークンを処理しようとしています - しかし、Google からの URL が以下のように表示されています - http: //local host:8080//loginProcess#access_token=ya29.AHS6ZQBN-4Snrj6P9i4xPxbCxLLkmbPf3Jc2Dj7eUA72FWIy4&token_type=Bearer&expires_in=3600 サーブレット名は「loginProcess」です。 - リクエスト パラメータにハッシュが含まれているため、request.getParameter("access_token"); を使用して Java サーブレットでそれらを取得できません。

私の質問が明確であることを願っています。そうでない場合は、不足している詳細を教えてください..

よろしくお願いします!

4

1 に答える 1

0

これは、クライアント側アプリケーション(ブラウザーで実行される JavaScript)の通常の動作です。これが実際のシナリオであるかどうかはわかりません。もしそうなら、応答を処理するには、ドキュメントのようにjavascriptが唯一のオプションです


そうでない場合は、おそらく認証要求 (シナリオ) をWeb サーバー アプリケーションに変更する必要があります。この場合、 を使用して応答を処理できrequest.getParameter("access_token")ます。この種の認証の重要なパラメーターは、response_type=code


また、セキュリティの観点から、クライアント (Web ブラウザー) は、ドキュメントを取得するときに URI フラグメントをサーバーに送信することは想定されていませ。フラグメント識別子の機能は、URI の残りの部分とは異なります。つまり、その処理は、サーバーからの参加なしに、クライアント側のみで行われます。

于 2012-05-18T13:17:28.553 に答える