- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 IdentityServer3 和客户端凭证流程设置一个简单示例。该示例包含一个控制台客户端,该客户端使用从 IdentityServer 收到的 token 调用 Web API 资源。 Web API 和 IdentityServer 托管在 IIS 中。
我设法使用以下方法从 IdentityServer 获取 token :
var client = new TokenClient(
"https://machine+domain/WebHostedId3/connect/token",
"client",
"secret");
但是当我尝试使用以下方式调用 Web API 时:
var client = new HttpClient();
client.SetBearerToken(token);
var response = client.GetStringAsync("http://localhost/WebHostedApi/api/products").Result;
我收到 401(响应状态代码不表示成功:401(未授权))。
IdentityServer 设置如下:
public class Clients
{
public static List<Client> Get()
{
return new List<Client>
{
new Client
{
ClientName = "Client Credentials Flow Client",
Enabled = true,
ClientId = "client",
AccessTokenType = AccessTokenType.Reference,
ClientSecrets = new List<Secret>
{
new Secret("secret".Sha256())
},
Flow = Flows.ClientCredentials,
AllowedScopes = new List<string>
{
"api"
}
}
};
}
}
public class Scopes
{
public static IEnumerable<Scope> Get()
{
return new[]
{
new Scope
{
Name = "api",
DisplayName = "API Scope",
Type = ScopeType.Resource,
Emphasize = false
}
};
}
}
public class Startup
{
public void Configuration(IAppBuilder appBuilder)
{
Log.Logger = new LoggerConfiguration()
.WriteTo.Trace(outputTemplate: "{Timestamp} [{Level}] ({Name}){NewLine} {Message}{NewLine}{Exception}")
.CreateLogger();
var factory = new IdentityServerServiceFactory()
.UseInMemoryUsers(new System.Collections.Generic.List<InMemoryUser>())
.UseInMemoryClients(Clients.Get())
.UseInMemoryScopes(Scopes.Get());
var options = new IdentityServerOptions
{
Factory = factory,
};
appBuilder.UseIdentityServer(options);
}
}
网络 API:
public static class WebApiConfig
{
public static HttpConfiguration Register()
{
var config = new HttpConfiguration();
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultRouting",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
// require authentication for all controllers
config.Filters.Add(new AuthorizeAttribute());
return config;
}
}
public class Startup
{
public void Configuration(IAppBuilder app)
{
Log.Logger = new LoggerConfiguration()
.WriteTo.Trace(outputTemplate: "{Timestamp} [{Level}] ({Name}){NewLine} {Message}{NewLine}{Exception}")
.CreateLogger();
app.UseIdentityServerBearerTokenAuthentication(
new IdentityServerBearerTokenAuthenticationOptions
{
Authority = "machine+domain:443",
ValidationMode = ValidationMode.ValidationEndpoint,
RequiredScopes = new[] { "api" }
});
app.UseWebApi(WebApiConfig.Register());
}
}
用于 SSL 的证书是使用 IIS 创建自签名证书功能创建的,并连接到 IdentityServer 的 https 绑定(bind)。除了“响应状态代码不表示成功:401(未经授权)”异常,我找不到更多详细信息。来自 IdentityServer 的日志看起来不错。将不胜感激。
最佳答案
我知道这是很晚的回复。尝试将所有 nuget,尤其是 Newtonsoft.Json 更新到 8.0.3
关于oauth-2.0 - 使用 IdentityServer3 调用 Web API 时出现 401 Unauthorized,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33480517/
尝试使用以下命令将我的Docker容器推送到Bluemix: sudo docker push registry.ng.bluemix.net//testproj:latest ...但是它保持这种状
我正在运行最新的 Raspbian 发行版并且刚刚安装了 transmission包。 但是,每当我运行 transmission-remote命令 - 例如,要更改一些基本配置 - 我不断收到相同的
我已经使用 Ruby Gem rest-client 来请求网站的 url。我收到以下错误... RestClient::Unauthorized (401 Unauthorized): app/
安装 kube-dns 插件时出现问题。 我的操作系统是 CentOS Linux release 7.0.1406 (Core) Kernel:Linux master 3.10.0-693.el7
我在 ubunto 16 上安装了 Coturn 服务器 目前我正在检查它 function checkTURNServer(turnConfig, timeout){ return new Pr
我正在尝试使用Azure上部署的Kubernetes 1.9.9在新设置的AKS群集上使用Kubernetes仪表板。 我运行kubectl proxy并打开http://localhost:8001
我想测试来自java的Rest接口(interface)。目的是检查 jpg 图像中是否找到任何人脸。我为此使用的 res 调用是 ../face/v1.0/detect 我将 Ocp-Apim-Su
所以我有自己的解析服务器,运行着heroku。 此云代码功能: Parse.Cloud.define("ReadyUp", function(request, response) {
今天,我开始收到此错误,据我所知,没有任何原因。这不是一个一致的错误。今天突然开始了。它昨天运行完美,并且几个星期都没有任何错误。 文件中只有 file_get_contents()。 一段时间以来,
我试图让用户在 Laravel 8 中查看类别页面 CategoryPolicy.php use App\Models\Category; use App\Models\User; use Illum
我正在尝试从 Nexus 存储库中查看我的代码。 首先,我已经生成了密码 mvn --encrypt-master-password _mypassword_ 这是我的 c:/Users/joanet
我使用的是最新的开源 formsflow.ai v4.0.2。我将整个项目带到了我的个人笔记本电脑上。我遵循了 Docker 完整安装指南。 Docker 运行良好。在 http://localhos
我已根据 ADLS Gen2 容器中存储的 parquet 文件在 Azure Synapse 中创建了一个外部表。我使用以下三个查询来创建数据源、文件格式和表: CREATE EXTERNAL DA
我正在尝试按照示例项目和来自 here 的教程将示例 Power BI 仪表板嵌入到 WPF 应用程序中.当我启动该应用程序时,我必须输入我的密码来验证我自己,当它尝试使用 getAppWorkspa
因此,我正在尝试使用kubernetes(minikube)。我是一个初学者,对docker有一些基本的经验。 事实证明,我2天前安装了kubernetes,却没有做任何事情。 我几乎没有设法连接到仪
所以问题是:我最近做了 this post . 我提到的解决方案适用于一个 token 和一个 API,但当我尝试使用两个 token (gmail 和 Sheets API)处理两个 API 时,它
我正在使用 Java 开发一个包含文本转语音功能的应用程序。我使用了 IBM Watson Text-to Speech API,但我的代码总是出现未经授权的错误。有人能帮我修复它吗?非常感谢! Ia
我正在尝试按照示例项目和来自 here 的教程将示例 Power BI 仪表板嵌入到 WPF 应用程序中.当我启动该应用程序时,我必须输入我的密码来验证我自己,当它尝试使用 getAppWorkspa
我们已将 TFS 2013 服务器升级到 TFS 2015,我们正在设置新的构建代理。 在此之前,我们进行了试运行,并在我们对现有 TFS 数据库进行最终转换之前让一切都运行良好。构建代理工作得很好。
我需要一些有关 Azure Durable Functions 的帮助。 我在 C# 中使用 VS Code 创建了一个新的持久函数,并通过 VS Code azure 函数扩展将其部署到 Azure
我是一名优秀的程序员,十分优秀!