Kwi*_*wiZ 5 single-sign-on slack-api slack
我正在为我的网站进行 Slack 集成,包括允许用户使用“使用 Slack 登录”按钮登录。理想情况下,我希望它只要求用户授予identity.*一次权限,然后下一次当他们单击“使用 Slack 登录”时,授权屏幕应该只闪烁然后重定向到下一步(例如使用 Facebook),但它会保持显示授权屏幕,用户必须单击“继续”按钮一次又一次地授予权限。这对我们的用户来说很不方便。有没有办法让它像Facebook一样只提示一次?仅供参考,我的应用程序尚未公开分发到应用程序目录,这可能是原因吗?
不,它与是否位于公共 App 目录中无关。
Slack Sign-in 不会像其他 OAuth 提供商那样缓存用户登录信息,因此,如果您想避免用户每次都必须登录,则必须在应用程序中缓存用户权限。例如通过使用cookie。
它的工作原理原理如下:
您存储有关用户的哪些信息取决于您的应用程序的需求。如果您只想要有关成功登录的证据,那么存储 和 就足够team_id了user_id。但成功登录后,您还将收到access_token该用户的新信息(与您的应用程序的信息不同)。access_token(请参阅下面的完整示例,了解您从 Slack 收到的内容)
请记住,cookie 存储在客户端本地,用户可以查看。因此,根据您的安全需求,建议不要access_token直接在 cookie 中存储任何用户相关信息(尤其是 )。而是存储一个 ID,该 ID 链接到您的应用程序存储在服务器上的数据。(这个问题还有其他方法。但这是一个不同的讨论)
以下是成功登录后您从 Slack 收到的信息的示例:
{
"ok": true,
"access_token": "XXXX",
"scope": "identity.basic",
"user":
{
"id": "U12345678",
"name": "Donald Dummy"
}
"team":
{
"id": "T12345678"
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3307 次 |
| 最近记录: |