Oauth 2.0 如何在通过Slack OAuth进行身份验证后识别现有用户?

Oauth 2.0 如何在通过Slack OAuth进行身份验证后识别现有用户?,oauth-2.0,slack,slack-api,Oauth 2.0,Slack,Slack Api,我有一个具有现有用户和用户ID(即非松弛用户ID)的web应用程序。我想允许我的用户安装我的新Slack应用程序 我如何知道我的哪些用户使用OAuth连接到Slack并安装我的应用程序?我知道您可以请求电子邮件,但如果松弛电子邮件与最初注册我的应用程序时使用的电子邮件地址不同,该怎么办 我知道哪些空闲用户链接到我现有的用户是至关重要的。有没有办法通过OAuth进程发送我现有用户的用户id,这样我就知道如何将空闲用户链接到我的一个用户 潜在的解决方案? 用户的cookie将允许我在OAuth上识

我有一个具有现有用户和用户ID(即非松弛用户ID)的web应用程序。我想允许我的用户安装我的新Slack应用程序

我如何知道我的哪些用户使用OAuth连接到Slack并安装我的应用程序?我知道您可以请求电子邮件,但如果松弛电子邮件与最初注册我的应用程序时使用的电子邮件地址不同,该怎么办

我知道哪些空闲用户链接到我现有的用户是至关重要的。有没有办法通过OAuth进程发送我现有用户的用户id,这样我就知道如何将空闲用户链接到我的一个用户

潜在的解决方案?

  • 用户的cookie将允许我在OAuth上识别它们 重定向
  • 使用
    state
    变量作为识别我的计算机上的用户的方法 场地

我不会使用
状态
属性来传输用户信息。这在理论上是可能的,但与国家财产作为安全措施的目的背道而驰

相反,在Oauth过程中,您只需要在网站上保留用户上下文(例如,通过在服务器会话中存储用户ID),以便以后可以存储自定义用户ID和空闲用户ID之间的连接

以下是整个过程:

  • 您的用户首先需要登录到您的网站以识别 他们自己
  • 然后,您的网站将具有用户的用户ID,并且需要保留 此上下文,例如在服务器会话中
  • 接下来,用户可以选择安装Slack应用程序。之后 安装完成后,Oauth进程将自动 将用户重定向回您的网站
  • 然后,您可以通过调用 使用您刚刚收到的访问令牌
  • 最后,可以存储自定义用户ID和空闲用户ID 此连接,例如,存储在数据库中以供将来参考。 或者,您可以将此信息添加到Slack用户,如下所示: 具有的自定义属性

  • 两个OAuth流/按钮(
    使用Slack登录
    添加到Slack
    )中的哪一个用于应用程序集成?我使用的是添加到Slack。因为我的应用程序在每个工作区的表现都不同。我需要有一些东西,锚定到我现有的用户。这有帮助。非常感谢你。