我正在使用 IdentityServer4 让我的客户通过 JavaScript 登录并访问网页和 api,并且运行良好。然而,有一个新的要求,而不是使用用户名和密码从身份服务器获取访问令牌,然后使用它通过承载身份验证访问 api...我需要使用“Basic”直接调用 api身份验证标头和 api 将与身份服务器确认身份。类似于下面用于访问 ZenDesk api 的代码...
\n using (var client = new HttpClient())\n {\n var username = _configuration["ZenDesk:username"];\n var password = _configuration["ZenDesk:password"];\n var token = Convert.ToBase64String(Encoding.ASCII.GetBytes(username + ":" + password));\n client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", token);\n\n var response = client.PostAsync("https://...\nRun Code Online (Sandbox Code Playgroud)\n对我如何实施这个有任何帮助吗?IdentityServer4 中是否内置了任何可以适应这种方法的东西?我将 .Net Core 3.1 用于 api 服务器和身份服务器。
\n另一种(看似常见)方法是为每个用户生成一个 api 密钥,然后允许用户像这样调用 api...
\nusing (var client = new HttpClient())\n{\n client.BaseAddress = new Uri(URL_HOST_API);\n client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("ApiKey", "123456456123456789");\n\xe2\x80\xa6\n}\nRun Code Online (Sandbox Code Playgroud)\n想法?
\n