2

我正在使用 Firebase 的authWithCustomToken方法作为通过 auth0 的委托身份验证流程的一部分。

Auth0 通过它的delegate调用给了我一个 JWT ,然后我将它传递给authWithCustomToken。Firebase 告诉我 auth 成功并给了我一个值 underauthData但这个值有 null 作为它的uid. AFAIK,我的 Firebase 安全规则必须使用 UID 进行限制,所以似乎出了点问题。

这是authData回应:

{ auth: { fb_id: 'auth0|555afce3f3066cf36f5ebd58' },
expires: 1453234943,
token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL2ZyZWVmb3JtZXJzLmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHw1NTVhZmNlM2YzMDY2Y2YzNmY1ZWJkNTgiLCJhdWQiOiJQaEpNNzdmVjhVbnl5Rjc3REFKQzdOM1BPRnNoZTRVYSIsImV4cCI6MTQ1MzIzNDk0MywiaWF0IjoxNDUzMTk4OTQzLCJ2IjowLCJkIjp7ImZiX2lkIjoiYXV0aDB8NTU1YWZjZTNmMzA2NmNmMzZmNWViZDU4In0sImF6cCI6InJnZ3VBc1hkT25mY0NTT1FLcTdpU3F2cDRER1ZMQTVUIn0.87DmiUn0TY0G3kpPyiJoK6d-aTKsBNlfHBHbM4R4WMk',
uid: null,
provider: 'custom' }
4

1 回答 1

2

当您调用 时authWithCustomToken(),该auth变量包含的正是 JWT 中的信息。如果没有auth.uid,可能是因为 Auth0 没有给令牌加一。

请注意,Firebase 安全规则不需要存在 uid,拥有一个很常见。但例如,这篇关于 auth0 与 Firebase 的博客文章不使用 uid:https ://www.firebase.com/blog/2014-06-05-auth0-guest-blog.html

于 2016-01-19T16:58:53.910 回答