【问题标题】:Firebase Authentication - Retrieve Custom Claims key for iOSFirebase 身份验证 - 检索 iOS 的自定义声明密钥
【发布时间】:2021-08-22 11:20:36
【问题描述】:
自定义声明 luid 已从后端添加到 Firebase 身份验证,我正在寻找一种从 iOS 应用程序前端访问此密钥的方法。
首先我需要检查键是否存在,如果存在则获取它的值。
我尝试了什么? Auth.auth().currentUser下的所有内容
附上一张解码后的JWT数据的图片,里面显示了密钥luid
【问题讨论】:
标签:
ios
swift
xcode
firebase
firebase-authentication
【解决方案1】:
您可以通过这种方式检查自定义声明:
user.getIDTokenResult(completion: { (result, error) in
guard let luid = result?.claims?["luid"] as? NSNumber else {
// luid absent
return
}
//Check for value here and use if-else
})
详细解释可见documentation
【解决方案2】:
这将显示一个字典,其中包含当前用户可用的所有键。
Auth.auth().currentUser?.getIDTokenResult(completion: { (authresult, error) in
print("CurrentUser Keys", authresult!.claims.keys)
})
这将根据特定键的可用性返回 Bool 值
Auth.auth().currentUser?.getIDTokenResult(completion: { (authresult, error) in
print("CurrentUser Keys", authresult!.claims.keys.contains("luid"))
})