我正在尝试在我的单页应用程序中从 ADFS 的 oauth2 端点接收 JWT 令牌。我成功地收到了来自 oauth2 端点的代码。在 ajax POST 请求之后,我收到了access_token和refresh_token。但是当我查看 access_token 时,我只有这些声明:
{
"aud": "https://localhost/",
"iss": "http://fs.development.org/adfs/services/trust",
"iat": 1438015081,
"exp": 1438018681,
"email": "Test.User@development.org",
"role": "Domain Users",
"unique_name": "Test.User",
"primarysid": "S-x-x-xx-xxxxxxxxx-xxxxxxxxx-xxxxxxxxxx-xxxx",
"upn": "test.user@development.org",
"auth_time": "2015-07-27T16:40:01.636Z",
"authmethod": "urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport",
"ver": "1.0",
"appid": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
如您所见,我没有收到AD FS 的nbf声明。我在我的信赖方信任的配置中找不到它。我试图在我的依赖方上将属性NotBeforeSkew设置为 2 分钟,将 TokenLifetime 设置为 60 分钟,希望 AD FS 开始发送 nbf 声明。但我错了,没有任何帮助。
所以我的问题是这个。是否可以从我的应用程序或 ad fs 服务器强制发送 nbf 声明?
也许这只是配置问题,但我无法从文档中推断出如何配置此声明。