[英]How do I use Discord OAuth2 for user management and authentication in my application?
我正在构建一个应用程序,我希望能够使用 Discord 和 OAuth2 创建和验证用户。 原因是:
该应用程序由客户端桌面应用程序和后端服务组成。 我对如何使用 Discord 授权用户有相当基本的了解:
/oauth/login
并且用户被重定向到 Discord 应用程序批准页面/oauth/callback
,其代码可用于获取一对访问和刷新令牌。坦率地说,从这一点来看,我对身份验证的 rest 应该如何工作感到困惑。 我至少假设以下几点:
但现在呢? 这仅针对 Discord 对用户进行身份验证。 我想利用用户通过 Discord 进行身份验证这一事实对我的应用程序进行身份验证。 以下是我的一些一般性问题:
这一切都感觉应该是非常基本的,但我在这里超出了我的舒适区,需要一些帮助才能畅通无阻。
谢谢阅读!
您自己的应用程序应该有效地拥有自己的 session 系统。
最简单的可能只是使用基于 HttpOnly cookie 的会话,类似于 Redis 存储(如果这是一个玩具项目,则为 Memory 存储)。
服务器上的 session 数据应包含有关当前登录的用户的信息。您可能应该将 discord 访问和刷新令牌存储在数据库中。
处理刷新的最简单方法是在收到401
响应后立即调用其刷新令牌端点。 如果 discord 提供有关访问令牌有效时间的信息,您也可以抢先刷新而不是仅在获得401
时才这样做。 您的服务器进行刷新,您不需要端点。
一般来说,我建议您的服务器处理与 discord API 的所有交互,而不是您的客户端。 (除了初始授权步骤)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.