使用Unity Firebase SDK 4.1.0如果我禁用身份验证,我可以连接到Unity Editor中的实时数据库。
{
"rules": {
".read": true,
".write": true
}
}
在客户端:
FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://xxx.firebaseio.com");
FirebaseDatabase database = FirebaseDatabase.DefaultInstance;
DatabaseReference reference = database.GetReference("key");
etc.
这一点工作正常,直到我尝试使用服务帐户(这样我才能启用身份验证,尽管我在使用服务帐户时禁用了身份验证时得到相同的结果)。服务帐户在IAM设置中具有项目编辑器角色。
更新了客户端:
FirebaseApp.DefaultInstance.SetEditorDatabaseUrl("https://xxx.firebaseio.com");
FirebaseApp.DefaultInstance.SetEditorP12FileName("p12filename.p12");
FirebaseApp.DefaultInstance.SetEditorServiceAccountEmail("username@xxx.iam.gserviceaccount.com");
FirebaseApp.DefaultInstance.SetEditorP12Password("notasecret");
FirebaseDatabase database = FirebaseDatabase.DefaultInstance;
DatabaseReference reference = database.GetReference("key");
etc.
加载文件时没有错误,但是在获取数据库时,插件似乎陷入了身份验证循环,我看到控制台每隔几秒就会重复一次(启用了详细的日志记录):
Sending OAuth request to https://accounts.google.com/o/oauth2/token
Requesting https://accounts.google.com/o/oauth2/token
Waiting for result of https://accounts.google.com/o/oauth2/token
About to send message to POST -> https://accounts.google.com/o/oauth2/token
CONTENT-TYPE:application/x-www-form-urlencoded
body size:793
OAuth request to https://accounts.google.com/o/oauth2/token completed with code 200
OAuth request to https://accounts.google.com/o/oauth2/token completed with msg {
"access_token" : "yyy",
"expires_in" : 3600,
"token_type" : "Bearer"
}
我认为这是一个错误,但我想确保我没有做错事。