ler*_*ros 6 firebase firebase-authentication
我正在开发一个应用程序,作为客户服务的一部分,我需要在该应用程序中帮助用户完成某些任务。与其构建单独的管理界面,我更希望能够模拟用户为他们使用该应用程序。
这是 Firebase 可以做的事情吗?
mal*_*mal 27
是的!
admin.initializeApp({
credential: admin.credential.cert(service_account_json),
})
Run Code Online (Sandbox Code Playgroud)
const userId = "[impersonating user uid string]"
const token = await admin.auth().createCustomToken(userId)
Run Code Online (Sandbox Code Playgroud)
const token = "[token string obtained in step 2]"
firebase.auth().signInWithCustomToken(token)
Run Code Online (Sandbox Code Playgroud)
完毕!您现在正在模拟选定的用户。
出于明显的安全原因,后端端点(如 Google Cloud Function)应要求进行身份验证并验证请求自定义令牌的用户是否实际上是特权用户(管理员),以避免任何经过身份验证的用户都能够冒充任何人的情况。
Firebase 身份验证客户端 SDK 没有内置模拟机制。要以特定用户身份登录这些 SDK,您必须知道该用户的凭据。
Firebase Admin SDK 支持在与实时数据库交互时模拟用户。由于 Admin SDK 旨在在受信任的环境(例如您的开发计算机、您控制的服务器或云功能)中运行,因此它们以管理权限运行。要了解有关在此处模拟普通用户的更多信息,请参阅有关使用有限权限进行身份验证的文档。
| 归档时间: |
|
| 查看次数: |
1957 次 |
| 最近记录: |