尝试使用IdentityServer4使用ResourceOwnerPassword授予类型对用户进行身份验证。
我的应用程序看起来非常类似于角度SPA Web API -解释。问题是,每当我向POST请求http://localhost:49950/connect/token请求令牌时,就会得到一个400 Bad Request。
在IdentityServer4日志中,我看到:
请求启动HTTP/1.1 POST http://localhost:49950/connect/token应用程序/x-www-窗体-urlencode 166 http://localhost:49950/connect/token请求启动HTTP/1.1 POST http://localhost:49950/connect/token应用程序/x-www-窗体-urlencode 166
..。
..。
CORS请求路径:/connect/令牌从原点:http://localhost:5000
..。
客户端列表检查和来源:允许使用http://localhost:5000
..。
CorsPolicyService允许原产地:http://localhost:5000
..。
与端点类型令牌匹配的请求路径/连接/令牌
..。
为端点找到映射:令牌,创建处理程序: IdentityServer4.Endpoints.TokenEndpoint
..。
调用IdentityServer端点:用于/connect/令牌的IdentityServer4.Endpoints.TokenEndpoint
..。
对令牌端点的无效HTTP请求
IdentityServer4.Endpoints.TokenEndpoint:Warning:对令牌端点应用程序的HTTP请求无效(未配置):{"name":"Microsoft.ApplicationInsights.Dev.Message","time":"2017-07-27T09:05:22.8471704Z",“标记”:{“ai.operation.id”:“0HL6KPQE44JVG”,"ai.cloud.roleInstance":"XE0806001077","ai.internal.sdkVersion":"aspnet5c:2.0.0","ai.application.ver":"1.0.0.0","ai.operation.name":"POST /connect/token","ai.internal.nodeName":"XE0806001077",“ai.location.ip”:“:1”},"data":{"baseType":"MessageData","baseData":{"ver":2,“消息”:“调用结果:severityLevel”:“详细”,“属性”:{“DeveloperMode”:“true”,“{OriginalFormat}”:“调用结果:{type}",“AspNetCoreEnvironment”:“发展”,AspNetCoreEnvironment
对令牌端点的无效HTTP请求是什么意思?
这是员额请求:
POST /connect/token HTTP/1.1
Host: localhost:49950
Connection: keep-alive
Content-Length: 166
Pragma: no-cache
Cache-Control: no-cache
Authorization: Basic YWxleDp0ZXN0UGFzc3dvcmQ=
Origin: http://localhost:5000
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36
Content-Type: application/x-www-form-urlencode
Accept: application/json, text/plain, */*
Referer: http://localhost:5000/dashboard
Accept-Encoding: gzip, deflate, br
Accept-Language: en-US,en;q=0.8,he;q=0.6,ru;q=0.4为了允许令牌请求,我应该在角侧更改什么或在ASP上更改IdentityServer4?注意:邮递员正确地使用了请求body中相同的用户详细信息--与我在角度上所做的相同,但得到了Invalid HTTP request for token endpoint :(
发布于 2017-07-27 11:09:04
你提出的请求没有人支持。有一个被发送了吗?
ROPC请求应该如下所示:
POST /connect/token HTTP/1.1
Host: localhost:49950
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
Content-Type: application/x-www-form-urlencoded
grant_type=password&username=johndoe&password=A3ddj3w其中,Authorization头是客户端凭据(客户端id和机密),而不是用户名和密码。
https://stackoverflow.com/questions/45346434
复制相似问题