如何在 OAuth 2.0 中获取访问令牌后设置新的会话 ID
How to set new session id after getting access token in OAuth 2.0
我正在为销售人员开发一个应用程序。对于身份验证,我使用的是网络服务器流程。
在 salesforce OAuth 实现中,会话 ID 与访问令牌相同。当我获得新的访问令牌(通过刷新令牌方法)时,将其传递给客户端的正确方法是什么。我应该明确地将会话 ID 设置为新的访问令牌吗?
假设您在请求 OAuth 2.0 访问令牌时包含 web
或 full
scope,那么它可以与会话 ID 互换使用。
您将访问令牌放入 sid
cookie 中并重定向到正确的 instance/pod。
更好的是,您可以使用 frontdoor.jsp 设置所需的 cookie。参见 Using frontdoor.jsp to login to Salesforce UI and Communities
客户端可以通过处理对 Salesforce API 的请求的一些逻辑来处理此问题,该请求失败并返回 Unauthorized
响应。当收到 Unauthorized
响应时,客户端可以向您的 Web 服务器请求新的访问令牌/会话 ID。
或者,当 Web 服务器刷新令牌时,您必须使用 WebSockets 或某些推送技术将新的访问令牌推送到客户端。
我正在为销售人员开发一个应用程序。对于身份验证,我使用的是网络服务器流程。 在 salesforce OAuth 实现中,会话 ID 与访问令牌相同。当我获得新的访问令牌(通过刷新令牌方法)时,将其传递给客户端的正确方法是什么。我应该明确地将会话 ID 设置为新的访问令牌吗?
假设您在请求 OAuth 2.0 访问令牌时包含 web
或 full
scope,那么它可以与会话 ID 互换使用。
您将访问令牌放入 sid
cookie 中并重定向到正确的 instance/pod。
更好的是,您可以使用 frontdoor.jsp 设置所需的 cookie。参见 Using frontdoor.jsp to login to Salesforce UI and Communities
客户端可以通过处理对 Salesforce API 的请求的一些逻辑来处理此问题,该请求失败并返回 Unauthorized
响应。当收到 Unauthorized
响应时,客户端可以向您的 Web 服务器请求新的访问令牌/会话 ID。
或者,当 Web 服务器刷新令牌时,您必须使用 WebSockets 或某些推送技术将新的访问令牌推送到客户端。