2017-02-19 25 views
0

ウェブAPIを介してGoogle認証が行われるインターネットには、ほとんどリソースがありませんでした。asp.net mvcでのGoogle認証 - Googleログイン用のredirectUrlを取得できません

同様の方法でasp.net mvc web appで同じことを試したかったのです。アプリケーションのredirectUriを取得する方法については、途中で取り残されています。

1. Googleに登録されているのは、clientidであり、秘密はAuthconfig.csに記載されています。

2.私のボタンをクリックしてGoogleSignInページにリダイレクトする必要があります。ユーザーにログインページを表示させるredirectUrl(authrequestUrl)は、私が得られないものです。

Web APIでは、url(GETリクエスト)をリクエストするとredirectUrlが返されます。
http://localhost:xxxx/api/Account/ExternalLogin?returnUrl=%2f&generateState=true

私は、ログインビューから自分のサインインボタンをクリックすると、ユーザーをグーグルサインインページにリダイレクトできます。 Asp.net MVC、 で

MyLogin.cshtml

<body> 
    <row> 
    <button id="GoogleBtn" type="button" class="col-md-5 btn">Google</button> 
    </row> 
</body> 
<script type="text/javascript"> 
$document.ready(function() 
{ 
    $('#GoogleBtn').click(function() 
    { 
     window.location.href="RedirectUrl" 
    }); 
}); 
</script> 

が二つの作用が存在する - 外部ログインをして http://localhost:49837/Account/ExternalLogin?provider=Google&returnUrl=%2f 外部login-を呼び出す

をexternallogincallbackエラーが返されます - 」必要な反偽造フォームフィールド "__RequestVerificationToken"は存在しません。 externallogincallback-呼び出し

http://localhost:49837/Account/ExternalLoginCallback?provider=Google&returnUrl=%2f&generateState=true それはGoogleのためのボタンが含まれている別のビュー(〜/ビュー/アカウント/ログイン)にリダイレクトします。 そのボタンをクリックすると、処理とログインのすべてのリクエストパラメータを含むGoogle SignInPageが表示されます。

アカウント/ログインビューに行かずにSign InのページにリダイレクトしてからSign InのページにリダイレクトするGoogleボタンをクリックすると

誰かが私のmvcアプリケーションのredirectUrlをフェッチする方法を教えてください。

更新:要求URLでOAuthリクエストURL/Googleの記号は私が探してい されていたものです

、私はredirectUrlと混同してしまいました。私は リクエストURLを構築する方法を見つけました。私は javascriptを使用して正常に電話をかけました。

+0

リダイレクトURIは、Googleがへの認証を返却するページです。これは、Googleデベロッパーコンソールに設定され、ユーザーの資格情報を取得します。あなたが取ったものではありません。 – DaImTo

+0

時間をかけて応答してくれてありがとう。私は実際に私の質問を通して私がredirectUrlとして言及したGoogle Signinへの宣誓要求を実行するRequestUrlを取得しようとしていました。 –

+0

私は正式なGoogleの代わりにJavaScriptを使用している理由は不思議です。ネットクライアントライブラリ。 – DaImTo

答えて

0

このコードでは、Google SignInページにOauthリクエストを作成できます。

MyLogin.cshtml

<row> 
     <button id="GoogleBtn" type="button" class="col-md-5 btn btn-danger" onclick="googleLogin()">Google</button> 
    </row> 

<script type="text/javascript"> 

    var OAUTHURL = 'https://accounts.google.com/o/oauth2/auth?'; 
    var VALIDURL = 'https://www.googleapis.com/oauth2/v1/tokeninfo?access_token='; 
    var SCOPE = 'https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email'; 
    var CLIENTID = 'xxxxxxxxxxxmyclientidxxxxx.apps.googleusercontent.com'; 
    var REDIRECT = 'http://myapp.local/dashboard'; 
    var LOGOUT = 'http://myapp.local/logout'; 
    var TYPE = 'token'; 
    var _url = OAUTHURL + 'scope=' + SCOPE + '&client_id=' + CLIENTID + '&redirect_uri=' + REDIRECT + '&response_type=' + TYPE; 

    function googleLogin() 
    { 
    window.location = _url; 
    } 

</script> 
関連する問題