web-dev-qa-db-ja.com

**既存**。netコア2WebAPIプロジェクトにGoogle認証を追加します

TL; DR-認証なしで開始された既存のデフォルトのコア2WebAPIプロジェクトに認証を追加する方法。

詳細-既存の.netコア2WebAPIプロジェクトがあります認証なし構成されており、エンティティフレームワークコアを使用しています。

のように開かれました-

PIC1-認証が選択されていません

No Auth Selected

既存のプロジェクトで開かれたかのようにGoogle認証を追加したい

PIC2-選択された個々のユーザーアカウント

Individual User Accounts Selected

しかし、追加に関するリソースが見つかりませんこれらの機能+スキャフォールディングと移行-見つけることができるのは、コアv1から2へのアップグレードに関するリンクだけです。

何か案は?

ありがとう!

10
JanivZ

パッケージを追加する

Microsoft.AspNetCore.Identity
Microsoft.AspNetCore.Identity.EntityFrameworkCore
Microsoft.AspNetCore.Authentication.Google

次にスタートアップで:

public void ConfigureServices(IServiceCollection services)
{
    services.AddIdentity<IdentityUser, IdentityRole>();
    services.AddAuthentication(
            v => {
                v.DefaultAuthenticateScheme = GoogleDefaults.AuthenticationScheme;
                v.DefaultChallengeScheme = GoogleDefaults.AuthenticationScheme;
            }).AddGoogle(googleOptions =>
            {
                googleOptions.ClientId = "CLIENT ID";
                googleOptions.ClientSecret = "CLIENT SECRET";
            });
    services.AddMvc();
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
    app.UseAuthentication()
       .UseMvc();
}

ここでの最小限の作業例: https://github.com/mjrmua/Asp.net-Core-2.0-google-authentication-example

16
Murray