我有一个DotnetOpenAuth授权服务器,它在我的localhost上工作得很好。但是在发布之后,我的刷新访问令牌请求被阻止。
请求获取,成功
POST https://myurl/identity/oauth/token HTTP/1.1
Authorization: Basic dsjSDLFJKSKLJesww
Content-Type: application/x-www-form-urlencoded; charset=utf-8
User-Agent: DotNetOpenAuth.Core/4.2.1.13026
Host: myhost
Cache-Control: no-store,no-cache
Pragma: no-cache
Content-Length: 86
Expect: 100-continue
Connection: Keep-Alive
username=theusername&password=fancypassword&scope=somescope&grant_type=password
刷新请求:
POST https://myurl/identity/oauth/token HTTP/1.1
Authorization: Basic dsjSDLFJKSKLJesww
Content-Type: application/x-www-form-urlencoded; charset=utf-8
User-Agent: DotNetOpenAuth.Core/4.2.1.13026
Host: myhost
Cache-Control: no-store,no-cache
Pragma: no-cache
Content-Length: 272
Expect: 100-continue
refresh_token=_ttH%21IAAAAGiYhlufAaXURH5P2oDOnPYgJx7YhoR33isvZkPPvlyUgQAAAAHoBYyDMLhq1qwGHHH2uGrLoHZli77XHbCnSFJSKLFJ3kl2j3klj2kljKFSJKLSJKL#$k3ljfsklfjl2
回复:
技术信息(支持人员)
错误代码:403禁止。服务器拒绝指定的Uniform 资源定位器(URL)。联系服务器管理员。 (12202)
任何方向的任何帮助,指导和指示都会非常受欢迎!
我为此示例更改了url / username / password / scope / base64 / refreshtoken。
答案 0 :(得分:3)
它们似乎是阻止请求的TMG Forefront - Authentication Delegation
中的一个设置。
Forefront TMG用于对发布的Web进行身份验证的方法 服务器:
- 没有授权,客户端无法直接进行身份验证
- 没有委托,但客户可以直接验证
醇>
将其更改为2后,将其设置为选项1,请求不再被阻止!