Токен доступа API-интерфейса ASP.NET Boilerplate Identity Server

Я успешно включил Identity Server в ASP.Net Boilerplate и вызвал его с помощью клиента JS, как описано в документации Identity Server http://docs.identityserver.io/en/latest/quickstarts/6_javascript_client.html. После входа в систему и получения токена доступа я не могу использовать этот токен доступа для доступа к API, поскольку я получаю 401.

Мне не удалось завершить последний шаг, как показано на примере Identity Server. Потому что мои проекты выдает ошибку при запуске, говоря, что Identityserver уже зарегистрирован. Я предполагаю, что без этого шага мой токен генерируется неправильно. Однако я не смог понять, как я должен настроить ABP, чтобы сделать то же самое.

services.AddAuthentication("Bearer").AddIdentityServerAuthentication(options =>
 {
     options.Authority = "http://localhost:5000";
     options.RequireHttpsMetadata = false;

    options.ApiName = "api1";
 });

Любая помощь приветствуется:)

Точная ошибка, которую я получаю - 401 (неавторизовано). Если я обменяю токен на один, сгенерированный через /api/TokenAuth/Authenticate, вызов работает.

Маркер генерируется через сервер идентичности "eyJhbGciOiJSUzI1NiIsImtpZCI6IjNhODAzNTUzNzNlNDVhMzRmNTI3MzJmM2ZjZWNjZTQ4IiwidHlwIjoiSldUIn0.eyJuYmYiOjE1NTExNTgyMjYsImV4cCI6MTU1MTE2MTgyNiwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo2MjExNCIsImF1ZCI6Imh0dHA6Ly9sb2NhbGhvc3Q6NjIxMTQvcmVzb3VyY2VzIiwiY2xpZW50X2lkIjoianMiLCJzdWIiOiIxIiwiYXV0aF90aW1lIjoxNTUxMTU3MTcwLCJpZHAiOiJsb2NhbCIsInNjb3BlIjpbIm9wZW5pZCIsInByb2ZpbGUiXSwiYW1yIjpbInB3ZCJdfQ.LBJ5KfiOGjMSWlpsWbXLuGBnd0RHq07IWM7npYGPOBm38ENeZkzLErgwalTFH7acOOa8rHymfTFRBVQgO1sEy-nnxn-iPmjstKABu2Xe1o-qlsrU7K7mxN1FLKJWksWBty983TZ-WLrK9pXEHjN9LGeBFY-Qx_RPFOVu4gattjgNI05-J3a2dsnON_bJfvsXPL2ktUa_od-uqi9AXnWY_kJA-5xh1rjMP6pf740tMQJjhMGAIitQHbWiCfmvvPjX6bzBnMXFJpmiVT_hZsZ76zoQskLRQz8Zn-IfVhU9VM-8U7B6PKUaVFs4-VA2ia9VVwxuSs1gJoC9RwMqKYmX_g"

Мой клиент регистрируется с этими свойствами.

        var client = new Client
        {
            ClientId = "js",
            ClientName = "JavaScript Client",
            AllowedGrantTypes = GrantTypes.Code,
            RequirePkce = true,
            RequireClientSecret = false,
            RequireConsent = true,
            RedirectUris = { "http://localhost:5003/callback.html" },
            PostLogoutRedirectUris = { "http://localhost:5003/index.html" },
            AllowedCorsOrigins = { "http://localhost:5003" },

            AllowedScopes =
            { 
                IdentityServerConstants.StandardScopes.OpenId,
                IdentityServerConstants.StandardScopes.Profile,
                "Apps"                    
            }
        };

0 ответов

Другие вопросы по тегам