Токен доступа API-интерфейса ASP.NET Boilerplate Identity Server - PullRequest
0 голосов
/ 26 февраля 2019

Я успешно включил 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 для того же.

   </p>

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

    options.ApiName = "api1";
 });
</code>

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

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

1017 * Токен генерируется через сервер Идентичность"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"                    
            }
        };
...