authentication - 构建 BaaS 时如何向客户的用户提供访问令牌?是否有 OAuth2 授权?
问题描述
如果我正在构建 BaaS(后端即服务)类型的应用程序,我将如何向我的客户应用程序的用户提供令牌?
我的想法:
- 我在考虑授权,但这会导致重定向。
- 用户要求客户端使用客户端凭据为他们获取令牌。不是真正的 OAuth2。
- 用户直接向 BaaS 询问令牌,然后首先询问客户端是否应该。根本不是 OAuth2。
我可以将客户的应用程序标记为第一方,但这仍然需要重定向才能获得授权码。它不仅会提示授权。
假设我会为这个 BaaS 构建一个 SDK,它可能看起来像:
const app = new ChatBaaS("app-id")
const user = app.connect("id-of-user-of-client")
user.sendMessage()
为了让用户可以与 BaaS 交互,幕后应该发生什么?
解决方案
你可以看看像 Firebase 和 Auth0 这样的类似服务是如何做到这一点的。
将 OAuth2 与非私有客户端一起使用(无论是执行 PKCE、授权码等)总是会导致重定向。因此,您的问题是支持 OAuth2 是否至关重要,或者更重要的是避免重定向。
对于最终用户的登录方式,您始终可以支持 OAuth2,例如使用 Google 或 Facebook,但您自己的用户标识不是 OAuth。
推荐阅读
- linux - 如何从 linux 中的日志文件中找到带有正则表达式的唯一词
- sql - PostgreSQL 中是否有本机技术强制“没有时区的时间戳”不包括毫秒?
- class - 在类中存在的标题内使用“导航”和“路由” - React-navigation v5
- excel - EXCEL FORMULA:在 2 个未知点之间进行插值
- gitlab - gitlab 服务器未启动。我收到这个错误
- java - 从 Whatsapp 企业帐户在我们的企业中发送群组短信
- apache - 设置 apache&nginx 反向代理以显示来自其他用户 public_html 的网站
- python-requests - 如何使用签名秘密和 python 请求将消息发布到松弛通道\用户
- ios - SwiftUI - 如何在不滚动的情况下将多行文本包装在 UITextView 中?
- python - Tensorflow 2.1.0 - DLL 加载失败 - windows cpu