我正在开发一个Oauth 2身份验证服务器,我遇到端点重定向问题。
这就是RFC所说的,我试着严格遵守:
3.1.2.1。端点请求机密性
重定向端点应该如上所述使用TLS 在1.6节中,当请求的响应类型是“代码”或“令牌”时, 或者当重定向请求将导致传输时 开放网络上的敏感凭据。
https://tools.ietf.org/html/rfc6749#section-3.1.2.1
以下是我的问题:
我知道当前请求是否使用HTTPS与$ _SERVER ['HTTPS']超全局,但 如何确定我要重定向的网址是否正在使用TLS ?
header("Location: $redirectUri");
我是否只依赖协议(https://在URL的开头)?在重定向之前发出的CURL请求返回的标头上(检查是否存在Strict-Transport-Security标头)?如果不是我应该怎么做?
PS:通常没有必要但是以防万一。这是完整的代码: https://github.com/alexandre-le-borgne/oauth-server/blob/master/src/OAuth2/Endpoints/AuthorizationEndpoint.php#L185
答案 0 :(得分:0)
我的结论是,在URL的开头检查https的存在就足够了。