我有一个包含现有用户和用户ID(即没有Slack用户ID)的Web应用程序。我想允许我的用户安装我的新Slack应用。
我怎么知道我的哪个用户使用OAuth连接到Slack并安装我的应用程序?我知道您可以请求电子邮件,但是如果Slack电子邮件与最初用于注册我的应用程序的电子邮件地址不同,该怎么办。
关键是要知道哪些Slack用户已链接到我的现有用户。是否可以通过OAuth流程发送现有用户的user_id,以便我知道如何将Slack用户链接到我的一个用户?
潜在的解决方案?
state
变量来识别我的用户
网站答案 0 :(得分:3)
我不会使用state
属性来传输用户信息。从理论上讲这是可能的,但会违背国家财产作为安全措施的目的。
相反,您只需要在Oauth流程中将用户上下文保留在网站上(例如,通过在服务器会话中存储用户ID),以便以后可以存储自定义用户ID和Slack用户ID之间的连接。
这是完整的过程:
auth.test
来获取当前的用户ID。
加上您刚收到的访问令牌。users.profile.set