2016-07-04 10 views
3

私はasp.netコアのアイデンティティプロバイダとしてgoogleを使用してアプリケーションを構築しようとしています。UseGoogleAuthenticationを使用

私はDOTNETのCLIツールによって初期化され、ブートストラップ、Webアプリケーションで使用:

dotnet new --type web 

を私は私のproject.jsonでMicrosoft.AspNetCore.Authentication.Google nugetを追加しました。

私は秘密/グーグルのアプリケーションとのClientIDを作成し、Googleのミドルウェアを追加しました:

app.UseGoogleAuthentication(new GoogleOptions{ 
       ClientId = "<clientId>", 
       ClientSecret = "<clientSecret>" 
      }); 

しかし、その後、ここではチュートリアル以下、次の行は、一つの要素でloginProviderコレクションを返す必要がありますが:

SignInManager.GetExternalAuthenticationSchemes() 

しかし、私はすべて空のIEnumerableです。私はソースコードに従おうとしましたが、私が間違っていることを見つけられませんでした(不正なクライアントID設定、Startup Configure(Service)機能で何かが間違っていました)。

SignInManager.GetExternalAuthenticationSchemes() Google loginProviderを返す方法を教えてください。

+0

奇妙な、それはIDを持つは何の関係もありません、それは我々がそこにいくつかの値をつけていても検証しません。あなたはdotnetの新しい権利によって生成されたものと同じコードを使用していますか?私は同じことをして何の問題もなく働いた – Anuraj

+0

ありがとう。私はついにそれを理解した。私の答えを見てください。 – Simon

答えて

3

いくつかのテストの後、私はそれを理解しました。私の間違いはの後にUseGoogleAuthenticationを使うことでした。私の問題を直す直前に移動する。

私はこの記事がそれを説明して推測:

Developer Exception Page is blank if added to IApplicationBuilder after MVC

+0

私はVS2017 RC2をテストするとき、この問題がコアのシステムバグだと思った!どのようなシンプルなソリューション。私はapp.UseFacebookAuthentication(私のapp.UseMvc(経路=> ...コードの上にミドルウェアコードを移動し、それは完璧に動作します、ありがとう! – user3777549

関連する問題