我做过一些关于在我的应用的子域之间共享auth object
的研究。显然firebase的web sdk这个设置。
我的想法是拥有一个登录网站login.myapp.com
,我的其他应用app1.myapp.com
,app2.myapp.com
可以使用该网站进行身份验证。就像谷歌一样。
我的第一次尝试是stringify()
来自localStorage
的auth对象,然后将其作为url param发送到请求的应用,以便我可以parse()
auth对象并将其存储到该应用的localStorage
。
但我不喜欢这种设置,不仅令牌会记录在浏览器的历史记录中,它看起来也很奇怪。
所以我想知道是否有使用admin sdk的已知设置。
答案 0 :(得分:5)
这听起来像是您需要的自定义令牌铸造。您login.myapp.com
在@IBAction func seePostingButtonClicked(_ sender: Any) {
postRef.queryOrdered(byChild: "uid").queryEqual(toValue: otherUID).observe(.childAdded, with:{
snapshot in
print("snapshot.value is \(snapshot.value!)")
if let postDict = snapshot.value as? Dictionary<String, AnyObject> {
let key = snapshot.key
let post = Post(postKey: key, postData: postDict)
print("post is \(post)")
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEE, MMM d, yyyy, h:mma"
let stringOfDate = post.dateForFilters!
let date = dateFormatter.date(from: stringOfDate)!
if date.timeIntervalSinceNow > 0{
otherUserPosts.append(post)
}
}
})
print(otherUserPosts)
DispatchQueue.main.asyncAfter(deadline: .now() + 2.5, execute: {
self.present(otherUserActivePostsVC, animated: true, completion: nil)
})
}
中使用管理员SDK,然后将其传递给您的请求应用,该怎么办?然后,这些应用可以通过调用mint a custom token登录到Firebase。