使用slack登录并验证firebase后端对angular应用程序的请求

使用slack登录并验证firebase后端对angular应用程序的请求,firebase,security,firebase-authentication,slack-api,angular6,Firebase,Security,Firebase Authentication,Slack Api,Angular6,我用angular material和firebase函数+实时数据库作为后端构建了一个webapp。我正在使用slack“使用slack登录”API oauth流。所有这些都运行良好,我能够在后端生成accessToken,并将其存储在实时数据库中。完成后,我在仪表板页面上对angular应用程序进行重定向调用。目前,我正在重定向url中传递userid,我使用该url将用户驱动到仪表板并显示其数据 这在功能上很好,但却是一个很大的安全问题。因为我可以直接键入重定向url和boom。我在仪表板

我用angular material和firebase函数+实时数据库作为后端构建了一个webapp。我正在使用slack“使用slack登录”API oauth流。所有这些都运行良好,我能够在后端生成accessToken,并将其存储在实时数据库中。完成后,我在仪表板页面上对angular应用程序进行重定向调用。目前,我正在重定向url中传递userid,我使用该url将用户驱动到仪表板并显示其数据

这在功能上很好,但却是一个很大的安全问题。因为我可以直接键入重定向url和boom。我在仪表板上


那么,我该如何解决这个问题呢?在安全的url重定向中,我应该做什么,并验证响应是否是有效请求的结果

我不熟悉Slack OAuth SDK,但一般来说,这适用于所有OAuth提供商。理想情况下,当您使用slack授权代码重定向到回调URL,并在将该访问令牌返回到客户端之前将身份验证代码交换为slack访问令牌时,您可以调用slack API以获取具有该访问令牌的slack用户ID,然后使用该uid创建Firebase自定义令牌。然后,将该自定义令牌返回给客户端,并使用自定义令牌进行签名。确保您正在检查
状态
字段(在启动松弛登录时设置)以及验证代码,以验证流是否在同一设备上启动和结束。

在将令牌传递到url时对其进行加密?确保使用什么?它如何防止其他人使用与它相同的url?是我的应用程序知道如何解密。直接使用它的人不需要知道它是什么。你最后的回应正是我想要的。有关如何传递firebase自定义令牌的更多详细信息或示例?