我使用Firebase的authWithCustomToken
方法作为通过auth0委派的身份验证流程的一部分。
Auth0通过delegate
call给我一个JWT,然后传递给authWithCustomToken
。 Firebase告诉我auth成功并在authData
下给了我一个值,但是这个值的空值为uid
。 AFAIK,我的Firebase安全规则必须使用UID进行限制,因此似乎出现了问题。
这里是authData
回复:
{ auth: { fb_id: 'auth0|555afce3f3066cf36f5ebd58' },
expires: 1453234943,
token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL2ZyZWVmb3JtZXJzLmF1dGgwLmNvbS8iLCJzdWIiOiJhdXRoMHw1NTVhZmNlM2YzMDY2Y2YzNmY1ZWJkNTgiLCJhdWQiOiJQaEpNNzdmVjhVbnl5Rjc3REFKQzdOM1BPRnNoZTRVYSIsImV4cCI6MTQ1MzIzNDk0MywiaWF0IjoxNDUzMTk4OTQzLCJ2IjowLCJkIjp7ImZiX2lkIjoiYXV0aDB8NTU1YWZjZTNmMzA2NmNmMzZmNWViZDU4In0sImF6cCI6InJnZ3VBc1hkT25mY0NTT1FLcTdpU3F2cDRER1ZMQTVUIn0.87DmiUn0TY0G3kpPyiJoK6d-aTKsBNlfHBHbM4R4WMk',
uid: null,
provider: 'custom' }
答案 0 :(得分:2)
当您致电self.reqparse.add_argument('domain',store='append', type = str, required = True, help = 'No domain given', location=('json','values'))
`
时,authWithCustomToken()
变量恰好包含JWT中的信息。如果没有auth
,可能是因为Auth0没有向令牌添加一个。
请注意,Firebase安全规则不会要求存在uid,只有一个很常见。但是,例如,这篇关于使用Firebase的auth0的博文不使用uid:https://www.firebase.com/blog/2014-06-05-auth0-guest-blog.html