3

Google Open Auth 2.0 を介して MVC 3 Web アプリケーションに認証を実装しようとしています。URL リクエスト URL は既に正常に形成されており、次のようになります。

https://accounts.google.com/o/oauth2/auth?scope=https://www.googleapis.com/auth/userinfo.email+https://www.googleapis.com/auth/userinfo.profile&redirect_uri= http://localhost:1291/Account/Google/&response_type=token&client_id=MY_APP_ID.apps.googleusercontent.com

私の期待は、次の URL にリダイレクトされることです。

http://localhost:1291/Account/Google?access_token=VALUE&token_type=VALUE&expires_in=VALUE

しかし、実際にはここにリダイレクトされます:

http://localhost:1291/Account/Google#access_token=VALUE&token_type=VALUE&expires_in=VALUE

違いは「#」と「?」だけです。疑問符がなければ、クエリ文字列パラメーターが表示されません

4

2 に答える 2

1

「response_type」を「token」から「code」に変更しようとしましたが、「#」記号が「?」に正常に置き換えられました。これで、クエリ文字列から「コード」を抽出できます。それで、それは私のせいでした。「response_type=token」は、クライアントjsで使用することをお勧めします。詳細はこちら:

https://developers.google.com/accounts/docs/OAuth2Login(Javascript 応答セクション)

于 2012-04-29T07:59:12.587 に答える
0

私のアプリケーションでも同様の機能が動作しています。私が見ることができる唯一の違いは/、あなたのredirect_uri?の末尾です。試す:

redirect_uri=http://localhost:1291/Account/Google

于 2012-04-28T15:49:36.320 に答える