0

access_tokenASP.Net (C#) で QueryString から値を取得できません。

Google は認証トークンを送信していますが、トークンの値を取得できません。

  1. QueryString (null を取得)
  2. 文字列を分割しています (完全な URL を取得していません)

RedirectUrl は次のとおりです。http://www.onfrnz.com/auth.aspx

http://www.onfrnz.com/auth.aspx#state=/profile
    &access_token={ACCESS_TOKEN}
    &token_type=Bearer
    &expires_in=3600 

これについて私を助けてください。図書館は使いたくない。前もって感謝します。

4

1 に答える 1

3

サーバー側コードでハッシュ フラグメント値にアクセスしようとしています。ハッシュ フラグメント値 (URL の # の後) は、Web ブラウザーから Web サーバーに送信されないため、サーバー側のコードではアクセスできません。

最初に OAuth フローを開始するときは、次のものを使用する可能性があります。

&response_type=token

これは、クライアント側 (JavaScript) アプリケーションにフローを使用することを示します (仕様では「暗黙的な」フローと呼ばれます)。

代わりに、次を使用する必要があります。

&response_type=code

これにより、クエリ パラメータで認証code値が返されます。この値は .NET コードを使用して取得できます。次に、Google に対してサーバー間リクエストを行うことでアクセス トークンを交換します。

Web サーバー アプリケーション用の Google の OAuth 2.0 フロー (認証コード フロー) の詳細については、次の URL を参照してください。

https://developers.google.com/accounts/docs/OAuth2WebServer

于 2012-07-24T21:22:10.893 に答える