Как вызвать Защищенный API неявный поток под Identity Server 4 из MVC Client asp.net core2.2 - PullRequest
0 голосов
/ 25 мая 2019

Я пытаюсь найти удостоверение личностиServer4 с отдельным IdentityService, клиентом MVC и WebAPI. Мой MVC-клиент может получить токен от службы Identity, перенаправившись на страницу входа в IdentityService. Теперь я хочу вызвать мой webAPI (ядро asp.net 2.2) из ​​аутентифицированного клиента mvc (ядро asp.net 2.2) в неявном режиме на сервере идентификации 4 (отдельное ядро ​​service-asp.net 2.2).

Я пробовал искать документацию и другие места для примера кода, но не повезло

Запуск WebAPI

public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvcCore()
            .AddAuthorization()
            .AddJsonFormatters();
            services.AddAuthentication(IdentityServerAuthenticationDefaults.AuthenticationScheme)
                .AddIdentityServerAuthentication(options => {
                    options.Authority = "https://localhost:44398/";
                    options.ApiName = "customAPI"; // required audience of access tokens
                    options.RequireHttpsMetadata = false; // dev only!
                });

                services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
        }

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }
            else
            {
                // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
                app.UseHsts();
            }
            app.UseAuthentication();
            app.UseHttpsRedirection();
            app.UseMvc();
        }

регистрация API

new Client
                {
                    ClientId = "mvc",
                    ClientName = "MVC Client",
                    AllowedGrantTypes = GrantTypes.Implicit,
                    AllowedScopes = new List<string>
                    {
                        IdentityServerConstants.StandardScopes.OpenId,
                        IdentityServerConstants.StandardScopes.Profile,
                        "customAPI.read",
                        "customAPI.write"
                    },
                    // where to redirect to after login
                    RedirectUris = { "https://localhost:44356/signin-oidc" },

                    // where to redirect to after logout
                    PostLogoutRedirectUris = { "https://localhost:44356/signout-callback-oidc" },
                    RequireConsent = false,


                }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...