GoogleOAuthを設定しました
そして、Startup.Auth.csにコードを追加しました
app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions()
{
// LRC
ClientId = "xxxxxxxxx",
ClientSecret = "xxxxx"
//CallbackPath = new PathString("/signin-google")
});
しかし、ログインするためにグーグルアカウントを選択した後、それは私を再びログインページにリダイレクトしました、
Chrome経由でネットワークを確認したところ、アクセスが拒否されたことがわかりました。
http://www.liferunningclub.com.au/Account/ExternalLoginCallback?error=access_denied
私はそれを把握することはできません。
更新今私は何か他のことをしました:
Googleでログインしようとしましたが、Googleアカウントを選択すると、同じaccess_deniedが返されました。
グーグルからの返答がより詳細な情報を与えることができればもっと良いでしょう。
「個人アカウント」を選択した最新のASP.NetMVCテンプレートを使用しても同じ問題が発生しました。
解決策は、GoogleDeveloperコンソールでプロジェクトのGoogle + APIを有効にすることでした。
答えが見つかりました ここ (「Googleへの変更OAuth 2.0 ...」までスクロールダウン)。
Facebookプロバイダーでも同じエラーが発生しました。
解決策は nugetパッケージを3.1に更新する と同じくらい簡単であることがわかりました。
Facebookが2017年3月27日にグラフAPIをバージョン2.2から2.3に「強制アップグレード」したことが判明しました
記録のために私は以下を使用しています:
Facebookでは、テストアプリ用に次の設定を構成しています。
さらに、サンプルテンプレートを使用している場合、返されるerror
パラメーターは消費されないため、誤解を招く可能性があります。 string error
をExternalLoginCallback
に追加する必要があります
[AllowAnonymous]
public async Task<ActionResult> ExternalLoginCallback(string returnUrl, string error)
{
if (error != null)
{
return View("Error");
}
私もこの問題を抱えていました。 Google+ APIを有効にした後、問題はまだ解決されていません。 GoogleAPIコンソールで「承認されたJavaScriptオリジン」を設定していないことがわかりました。だから私は 承認されたjavascriptの起源 を設定し、問題は解決しました。
これは、開発者コンソールでGoogle + APIを有効にしていないことが原因である可能性があります。
そのため、アカウントがGoogleアカウントの詳細を取得しようとすると、access_denied
と表示されます。
開発者コンソールに移動して、Google + APIを有効にするだけです
私も同じ問題を抱えていました。 Google+ APIをアクティブにして、JavaScriptプロバイダーを設定しました。私のバージョンのMicrosoft.Owin3.1が古すぎたことがわかりました。名前にMicrosoft.Owin。(何でも)が含まれているすべてのナゲットを更新しましたが、正常に動作し始めました(バージョン4.1)
それが役に立てば幸い!