Javascript $http.post()请求作为选项发送到IdentityServer v3令牌端点

Javascript $http.post()请求作为选项发送到IdentityServer v3令牌端点,javascript,angularjs,post,openid-connect,identityserver3,Javascript,Angularjs,Post,Openid Connect,Identityserver3,我有一个示例应用程序要在客户端使用IdentityServer v3和OpenID Connect授权代码流进行授权。我可以成功地获取授权\u代码和会话\u状态,但是当我调用令牌端点时,出现了问题。令牌端点响应为无效的HTTP状态代码405 下面是Angular.js配置的代码 Angular.js app.js angular.module('oidc3',['oauth','ngStorage','base64'])) .config(函数($locationProvider,$httpPr

我有一个示例应用程序要在客户端使用IdentityServer v3和OpenID Connect授权代码流进行授权。我可以成功地获取
授权\u代码
会话\u状态
,但是当我调用令牌端点时,出现了问题。令牌端点响应为
无效的HTTP状态代码405

下面是Angular.js配置的代码

Angular.js

app.js

angular.module('oidc3',['oauth','ngStorage','base64']))
.config(函数($locationProvider,$httpProvider){
$locationProvider.html5Mode(true);
$httpProvider.defaults.withCredentials=true;
$httpProvider.defaults.useXDomain=false;
删除$httpProvider.defaults.headers.common['X-Requested-With'];
$httpProvider.defaults.headers.post['Content-Type']='application/x-www-form-urlencoded';
});
登录控制器

iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.WelcomeController]: 4/29/2015 3:34:19 AM +00:00 -- Welcome page requested
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.WelcomeController]: 4/29/2015 3:34:19 AM +00:00 -- Rendering welcome page
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:34:34 AM +00:00 -- Start authorize request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:34 AM +00:00 -- Start authorize request protocol validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:34 AM +00:00 -- Authorize request validation success
 {
  "RedirectUri": "http://localhost:8000/login.html",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278473164",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278473164",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:34 AM +00:00 -- Start authorize request client validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:34 AM +00:00 -- Authorize request validation success
 {
  "ClientId": "codeclient",
  "ClientName": "Code Flow Client Demo",
  "RedirectUri": "http://localhost:8000/login.html",
  "AllowedRedirectUris": [
    "https://localhost:44312/callback",
    "http://localhost:63342/oidc_test/redirect.html",
    "http://localhost:8000/login.html",
    "https://localhost:4443/login.html"
  ],
  "SubjectId": "88421113",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278473164",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278473164",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:34:34 AM +00:00 -- Showing consent screen
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:34:34 AM +00:00 -- End authorize request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:34:36 AM +00:00 -- Resuming from consent, restarting validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:36 AM +00:00 -- Start authorize request protocol validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:36 AM +00:00 -- Authorize request validation success
 {
  "RedirectUri": "http://localhost:8000/login.html",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278473164",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278473164",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:36 AM +00:00 -- Start authorize request client validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:36 AM +00:00 -- Authorize request validation success
 {
  "ClientId": "codeclient",
  "ClientName": "Code Flow Client Demo",
  "RedirectUri": "http://localhost:8000/login.html",
  "AllowedRedirectUris": [
    "https://localhost:44312/callback",
    "http://localhost:63342/oidc_test/redirect.html",
    "http://localhost:8000/login.html",
    "https://localhost:4443/login.html"
  ],
  "SubjectId": "88421113",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278473164",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278473164",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.ResponseHandling.AuthorizeResponseGenerator]: 4/29/2015 3:34:36 AM +00:00 -- Creating Authorization Code Flow response.
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Results.AuthorizeRedirectResult]: 4/29/2015 3:34:36 AM +00:00 -- Redirecting to: http://localhost:8000/login.html
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.WelcomeController]: 4/29/2015 3:37:39 AM +00:00 -- Welcome page requested
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.WelcomeController]: 4/29/2015 3:37:39 AM +00:00 -- Rendering welcome page
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:37:52 AM +00:00 -- Start authorize request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:52 AM +00:00 -- Start authorize request protocol validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:52 AM +00:00 -- Authorize request validation success
 {
  "RedirectUri": "http://localhost:8000/login.html",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278670509",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278670509",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:52 AM +00:00 -- Start authorize request client validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:52 AM +00:00 -- Authorize request validation success
 {
  "ClientId": "codeclient",
  "ClientName": "Code Flow Client Demo",
  "RedirectUri": "http://localhost:8000/login.html",
  "AllowedRedirectUris": [
    "https://localhost:44312/callback",
    "http://localhost:63342/oidc_test/redirect.html",
    "http://localhost:8000/login.html",
    "https://localhost:4443/login.html"
  ],
  "SubjectId": "88421113",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278670509",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278670509",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:37:52 AM +00:00 -- Showing consent screen
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:37:52 AM +00:00 -- End authorize request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:37:54 AM +00:00 -- Resuming from consent, restarting validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:54 AM +00:00 -- Start authorize request protocol validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:54 AM +00:00 -- Authorize request validation success
 {
  "RedirectUri": "http://localhost:8000/login.html",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278670509",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278670509",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:54 AM +00:00 -- Start authorize request client validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:54 AM +00:00 -- Authorize request validation success
 {
  "ClientId": "codeclient",
  "ClientName": "Code Flow Client Demo",
  "RedirectUri": "http://localhost:8000/login.html",
  "AllowedRedirectUris": [
    "https://localhost:44312/callback",
    "http://localhost:63342/oidc_test/redirect.html",
    "http://localhost:8000/login.html",
    "https://localhost:4443/login.html"
  ],
  "SubjectId": "88421113",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278670509",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278670509",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.ResponseHandling.AuthorizeResponseGenerator]: 4/29/2015 3:37:54 AM +00:00 -- Creating Authorization Code Flow response.
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Results.AuthorizeRedirectResult]: 4/29/2015 3:37:54 AM +00:00 -- Redirecting to: http://localhost:8000/login.html
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.TokenEndpointController]: 4/29/2015 3:37:55 AM +00:00 -- Start token request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.ClientValidator]: 4/29/2015 3:37:55 AM +00:00 -- Start client validation
iisexpress.exe Error: 0 : [Thinktecture.IdentityServer.Core.Validation.ClientValidator]: 4/29/2015 3:37:55 AM +00:00 -- No or malformed client credential found.
 {}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.TokenEndpointController]: 4/29/2015 3:37:55 AM +00:00 -- End token request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Results.TokenErrorResult]: 4/29/2015 3:37:55 AM +00:00 -- Returning error: invalid_client
angular.module('oidc3')
.controller('LoginController',函数($scope、$http、$timeout、$location、$base64){
var getParamsFromUrl=函数(url){
var splitted=url.split(“?”);
拆分=拆分[1]。拆分('&');
var params={};
对于(变量i=0;i
我正在使用编码的
client\u id
client\u secret
将授权头手动设置为
Basic
。发送POST请求时,服务器返回405响应。Chrome开发者工具网络部分的屏幕抓图在这里

但是,当我没有手动设置头时,POST请求被正确发送,服务器返回一个
invalid\u client
错误,因为它无法在没有头的情况下对客户端进行身份验证。IdentityServer v3 Trace.log消息如下所示

带有手动设置的授权标头

iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.WelcomeController]: 4/29/2015 3:34:19 AM +00:00 -- Welcome page requested
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.WelcomeController]: 4/29/2015 3:34:19 AM +00:00 -- Rendering welcome page
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:34:34 AM +00:00 -- Start authorize request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:34 AM +00:00 -- Start authorize request protocol validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:34 AM +00:00 -- Authorize request validation success
 {
  "RedirectUri": "http://localhost:8000/login.html",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278473164",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278473164",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:34 AM +00:00 -- Start authorize request client validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:34 AM +00:00 -- Authorize request validation success
 {
  "ClientId": "codeclient",
  "ClientName": "Code Flow Client Demo",
  "RedirectUri": "http://localhost:8000/login.html",
  "AllowedRedirectUris": [
    "https://localhost:44312/callback",
    "http://localhost:63342/oidc_test/redirect.html",
    "http://localhost:8000/login.html",
    "https://localhost:4443/login.html"
  ],
  "SubjectId": "88421113",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278473164",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278473164",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:34:34 AM +00:00 -- Showing consent screen
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:34:34 AM +00:00 -- End authorize request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:34:36 AM +00:00 -- Resuming from consent, restarting validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:36 AM +00:00 -- Start authorize request protocol validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:36 AM +00:00 -- Authorize request validation success
 {
  "RedirectUri": "http://localhost:8000/login.html",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278473164",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278473164",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:36 AM +00:00 -- Start authorize request client validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:36 AM +00:00 -- Authorize request validation success
 {
  "ClientId": "codeclient",
  "ClientName": "Code Flow Client Demo",
  "RedirectUri": "http://localhost:8000/login.html",
  "AllowedRedirectUris": [
    "https://localhost:44312/callback",
    "http://localhost:63342/oidc_test/redirect.html",
    "http://localhost:8000/login.html",
    "https://localhost:4443/login.html"
  ],
  "SubjectId": "88421113",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278473164",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278473164",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.ResponseHandling.AuthorizeResponseGenerator]: 4/29/2015 3:34:36 AM +00:00 -- Creating Authorization Code Flow response.
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Results.AuthorizeRedirectResult]: 4/29/2015 3:34:36 AM +00:00 -- Redirecting to: http://localhost:8000/login.html
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.WelcomeController]: 4/29/2015 3:37:39 AM +00:00 -- Welcome page requested
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.WelcomeController]: 4/29/2015 3:37:39 AM +00:00 -- Rendering welcome page
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:37:52 AM +00:00 -- Start authorize request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:52 AM +00:00 -- Start authorize request protocol validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:52 AM +00:00 -- Authorize request validation success
 {
  "RedirectUri": "http://localhost:8000/login.html",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278670509",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278670509",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:52 AM +00:00 -- Start authorize request client validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:52 AM +00:00 -- Authorize request validation success
 {
  "ClientId": "codeclient",
  "ClientName": "Code Flow Client Demo",
  "RedirectUri": "http://localhost:8000/login.html",
  "AllowedRedirectUris": [
    "https://localhost:44312/callback",
    "http://localhost:63342/oidc_test/redirect.html",
    "http://localhost:8000/login.html",
    "https://localhost:4443/login.html"
  ],
  "SubjectId": "88421113",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278670509",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278670509",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:37:52 AM +00:00 -- Showing consent screen
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:37:52 AM +00:00 -- End authorize request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:37:54 AM +00:00 -- Resuming from consent, restarting validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:54 AM +00:00 -- Start authorize request protocol validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:54 AM +00:00 -- Authorize request validation success
 {
  "RedirectUri": "http://localhost:8000/login.html",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278670509",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278670509",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:54 AM +00:00 -- Start authorize request client validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:54 AM +00:00 -- Authorize request validation success
 {
  "ClientId": "codeclient",
  "ClientName": "Code Flow Client Demo",
  "RedirectUri": "http://localhost:8000/login.html",
  "AllowedRedirectUris": [
    "https://localhost:44312/callback",
    "http://localhost:63342/oidc_test/redirect.html",
    "http://localhost:8000/login.html",
    "https://localhost:4443/login.html"
  ],
  "SubjectId": "88421113",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278670509",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278670509",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.ResponseHandling.AuthorizeResponseGenerator]: 4/29/2015 3:37:54 AM +00:00 -- Creating Authorization Code Flow response.
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Results.AuthorizeRedirectResult]: 4/29/2015 3:37:54 AM +00:00 -- Redirecting to: http://localhost:8000/login.html
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.TokenEndpointController]: 4/29/2015 3:37:55 AM +00:00 -- Start token request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.ClientValidator]: 4/29/2015 3:37:55 AM +00:00 -- Start client validation
iisexpress.exe Error: 0 : [Thinktecture.IdentityServer.Core.Validation.ClientValidator]: 4/29/2015 3:37:55 AM +00:00 -- No or malformed client credential found.
 {}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.TokenEndpointController]: 4/29/2015 3:37:55 AM +00:00 -- End token request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Results.TokenErrorResult]: 4/29/2015 3:37:55 AM +00:00 -- Returning error: invalid_client
无需手动设置授权标头

iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.WelcomeController]: 4/29/2015 3:34:19 AM +00:00 -- Welcome page requested
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.WelcomeController]: 4/29/2015 3:34:19 AM +00:00 -- Rendering welcome page
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:34:34 AM +00:00 -- Start authorize request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:34 AM +00:00 -- Start authorize request protocol validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:34 AM +00:00 -- Authorize request validation success
 {
  "RedirectUri": "http://localhost:8000/login.html",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278473164",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278473164",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:34 AM +00:00 -- Start authorize request client validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:34 AM +00:00 -- Authorize request validation success
 {
  "ClientId": "codeclient",
  "ClientName": "Code Flow Client Demo",
  "RedirectUri": "http://localhost:8000/login.html",
  "AllowedRedirectUris": [
    "https://localhost:44312/callback",
    "http://localhost:63342/oidc_test/redirect.html",
    "http://localhost:8000/login.html",
    "https://localhost:4443/login.html"
  ],
  "SubjectId": "88421113",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278473164",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278473164",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:34:34 AM +00:00 -- Showing consent screen
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:34:34 AM +00:00 -- End authorize request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:34:36 AM +00:00 -- Resuming from consent, restarting validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:36 AM +00:00 -- Start authorize request protocol validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:36 AM +00:00 -- Authorize request validation success
 {
  "RedirectUri": "http://localhost:8000/login.html",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278473164",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278473164",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:36 AM +00:00 -- Start authorize request client validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:34:36 AM +00:00 -- Authorize request validation success
 {
  "ClientId": "codeclient",
  "ClientName": "Code Flow Client Demo",
  "RedirectUri": "http://localhost:8000/login.html",
  "AllowedRedirectUris": [
    "https://localhost:44312/callback",
    "http://localhost:63342/oidc_test/redirect.html",
    "http://localhost:8000/login.html",
    "https://localhost:4443/login.html"
  ],
  "SubjectId": "88421113",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278473164",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278473164",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.ResponseHandling.AuthorizeResponseGenerator]: 4/29/2015 3:34:36 AM +00:00 -- Creating Authorization Code Flow response.
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Results.AuthorizeRedirectResult]: 4/29/2015 3:34:36 AM +00:00 -- Redirecting to: http://localhost:8000/login.html
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.WelcomeController]: 4/29/2015 3:37:39 AM +00:00 -- Welcome page requested
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.WelcomeController]: 4/29/2015 3:37:39 AM +00:00 -- Rendering welcome page
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:37:52 AM +00:00 -- Start authorize request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:52 AM +00:00 -- Start authorize request protocol validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:52 AM +00:00 -- Authorize request validation success
 {
  "RedirectUri": "http://localhost:8000/login.html",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278670509",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278670509",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:52 AM +00:00 -- Start authorize request client validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:52 AM +00:00 -- Authorize request validation success
 {
  "ClientId": "codeclient",
  "ClientName": "Code Flow Client Demo",
  "RedirectUri": "http://localhost:8000/login.html",
  "AllowedRedirectUris": [
    "https://localhost:44312/callback",
    "http://localhost:63342/oidc_test/redirect.html",
    "http://localhost:8000/login.html",
    "https://localhost:4443/login.html"
  ],
  "SubjectId": "88421113",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278670509",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278670509",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:37:52 AM +00:00 -- Showing consent screen
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:37:52 AM +00:00 -- End authorize request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.AuthorizeEndpointController]: 4/29/2015 3:37:54 AM +00:00 -- Resuming from consent, restarting validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:54 AM +00:00 -- Start authorize request protocol validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:54 AM +00:00 -- Authorize request validation success
 {
  "RedirectUri": "http://localhost:8000/login.html",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278670509",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278670509",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:54 AM +00:00 -- Start authorize request client validation
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.AuthorizeRequestValidator]: 4/29/2015 3:37:54 AM +00:00 -- Authorize request validation success
 {
  "ClientId": "codeclient",
  "ClientName": "Code Flow Client Demo",
  "RedirectUri": "http://localhost:8000/login.html",
  "AllowedRedirectUris": [
    "https://localhost:44312/callback",
    "http://localhost:63342/oidc_test/redirect.html",
    "http://localhost:8000/login.html",
    "https://localhost:4443/login.html"
  ],
  "SubjectId": "88421113",
  "ResponseType": "code",
  "ResponseMode": "query",
  "Flow": "AuthorizationCode",
  "RequestedScopes": "openid profile email",
  "State": "1430278670509",
  "Nonce": "nonce",
  "SessionId": "585c26034281e898b73012e9335868cb",
  "Raw": {
    "response_type": "code",
    "client_id": "codeclient",
    "redirect_uri": "http://localhost:8000/login.html",
    "scope": "openid profile email",
    "state": "1430278670509",
    "nonce": "nonce"
  }
}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.ResponseHandling.AuthorizeResponseGenerator]: 4/29/2015 3:37:54 AM +00:00 -- Creating Authorization Code Flow response.
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Results.AuthorizeRedirectResult]: 4/29/2015 3:37:54 AM +00:00 -- Redirecting to: http://localhost:8000/login.html
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.TokenEndpointController]: 4/29/2015 3:37:55 AM +00:00 -- Start token request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Validation.ClientValidator]: 4/29/2015 3:37:55 AM +00:00 -- Start client validation
iisexpress.exe Error: 0 : [Thinktecture.IdentityServer.Core.Validation.ClientValidator]: 4/29/2015 3:37:55 AM +00:00 -- No or malformed client credential found.
 {}
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Endpoints.TokenEndpointController]: 4/29/2015 3:37:55 AM +00:00 -- End token request
iisexpress.exe Information: 0 : [Thinktecture.IdentityServer.Core.Results.TokenErrorResult]: 4/29/2015 3:37:55 AM +00:00 -- Returning error: invalid_client
我做了一些研究,发现这与CORS有关,这是由于飞行前检查,看我的客户是否可以访问我正在呼叫的端点。如何避免这种情况,并将POST请求按原样发送到令牌端点