ChatGPT 网站认证授权时基于OAuth 2.0,打开浏览器的开发工具,可以看到认证信息,Authorization: Bearer 是一种常见的 HTTP 请求头格式,用于在身份验证(authentication)过程中传递访问令牌(access token),这是 OAuth 2.0 认证协议中定义的一种标准格式,允许用户授权第三方应用访问他们的资源,而无需将凭证(如用户名和密码)直接提供给第三方应用。
当 OAuth 2.0 使用 JWT 时,通常是通过使用 JWT 作为访问令牌(access token)来实现的。在这种情况下,JWT 作为一种轻量级的、自包含的访问令牌可以被签发并用于表示用户的授权状态。JWT是一种开放标准,定义了一种紧凑且自包含的方式来安全地将信息以 JSON 格式传输,通常用于在网络中传输身份验证信息。
使用JWT解码工具,可以看到令牌包含的详细信息,如过期时间、用户信息等等。
添加图片注释,不超过 140 字(可选)
OAuth 2.0 基于 JWT验证是种无状态的访问方式,这意味着在验证令牌时不需要在服务器端维护任何状态信息。这种无状态性质对于构建分布式系统和微服务架构非常有用,因为它允许每个服务实例都能够独立地验证访问令牌,而无需依赖共享的会话状态。
它的特点包括自包含性、无需中心化验证、扩展性、减少服务器负载和安全性。JWT 本身包含了用户的授权信息和其他必要的元数据,使得不需要在服务器端存储任何会话信息或状态信息。每个服务实例都能够独立地验证令牌的有效性,因此系统的扩展性更好。此外,无状态验证方式减少了服务器的负载,提高了服务器处理大量并发请求的效率。同时,JWT 使用签名确保令牌的完整性和真实性,还支持加密以保证令牌的机密性,从而确保用户的敏感信息不会被泄露。
因此,只要在完成登录,并获取到 Authorization: Bearer ,在请求头中加入Authorization、cookie等信息,并将接口转发到代理,便可以通过代理访问接口。