- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Firebase Python AdminSDK 生成自定义 token ,Javascript 客户端使用该 token 登录 Firebase。当 JS 客户端尝试使用自定义 token 进行身份验证时,它会收到错误消息“自定义 token 对应于不同的受众”。
给出的错误代码:'auth/custom-token-mismatch'。
许多关于“受众”不匹配引用分析的谷歌答案。但我正在做一个 Web 项目,而不是 iOS 或 Android,所以我无法使用 Analytics 来管理受众。
我读过的 SO 答案列在下面的末尾。
我捕获了自定义 token 并将其插入到 https://jwt.io/值和实例化/过期时间(相隔一小时)看起来都不错:
jwt.io 上的解码自定义 token :
{
"claims": {},
"uid": "<myuniqueID",
"sub": "firebase-adminsdk-1knpr@firebase-<myproject>.iam.gserviceaccount.com",
"iss": "firebase-adminsdk-1knpr@firebase-<myproject>.iam.gserviceaccount.com",
"iat": 1540153710,
"aud": "https://identitytoolkit.googleapis.com/google.identity.identitytoolkit.v1.IdentityToolkit",
"exp": 1540157310
}
Python 服务器:
def getFirebaseInstance(): # For Firebase Python SDK
try:
currentDir_path = os.path.dirname(os.path.realpath(__file__))
cred = credentials.Certificate(currentDir_path + '/includeFirebaseServiceAccounts/firebase-<myprojectname>-firebase-adminsdk-1knpr-e1244dd261.json')
firebaseAdmin = firebase_admin.initialize_app(cred, { 'databaseURL': 'https://<myprojectname>.firebaseio.com', 'databaseAuthVariableOverride': {'uid':'<myuniqueServerID>'}})
if firebaseAdmin:
return(firebaseAdmin)
except:
raise
def firebaseClientToken(request):
try:
uid = "<myuniqueClientID>" # case sensitive
additional_claims = { }
token = auth.create_custom_token(uid,additional_claims)
return HttpResponse(token)
except Exception as err:
return HttpResponse("System error:" + str(err), status=406)
Javascript 客户端:
(
function authClient2Firebase() {
$.ajax({
url: "firebaseClientToken/",
method: "POST",
success: function(response) { step2(response); },
error: function(xhr) { alert("There was an error loading a security check. Have you lost your internet connection? Detail:" + xhr.responseText); }
});
function step2(customToken) {
try {
firebase.auth().signInWithCustomToken(customToken).catch(function(error) {
var errorCode = error.code;
var errorMessage = error.message;
alert("There was an error with the secure login. \n\nDetail: " + errorMessage + '\nCode: ' + errorCode);
});
}
catch(err) {
alert(err);
}
console.log("authClient2Firebase.js: Firebase login succeeded!");
}
}
)();
我在控制台“设置”页面下的项目确实有一个 Web API key ,但我没有看到任何地方使用它。
控制台的“设置”->“用户和权限”页面下只有我一个用户。
控制台“设置”->“服务帐户”页面上只列出了一个服务帐户。我尝试删除该页面上的所有 secret ,生成一个新 secret ,然后生成并安装一个新的蓝色按钮“ secret ”(糟糕的名称,实际上它生成了一个完整的 json 凭证对象)。
这些是控制台“身份验证”->“登录方法”中列出的域:
localhost Default
<myproject>.firebaseapp.com Default
127.0.0.1 Custom
auth.firebase.com Custom
我实际使用的域名是localhost:8000,这里不能输入。
SO 咨询失败的答案:
The custom token corresponds to a different audience (I'm not using a key, except what's stored in the ServiceAccount credentials.)
Firebase token error, "The custom token corresponds to a different audience."
Firebase custom auth issue token different audienceenter link description here (Close, but I'm not using a Node server and not sure what he means by server "must belong to the same project" since the Python server isn't registered in any way except through the ServiceAccount credentials which I downloaded.)
最佳答案
令人尴尬但事实证明,这只是一个简单的疏忽。当 JS 客户端将自身初始化为 Firebase 应用程序时,在进行身份验证之前,它使用的是来自测试环境的旧凭据。
// Initialize Firebase
var config = {
apiKey: "<WebAPI from Firebase console, 'Project Settings'>",
authDomain: "<myproject>.firebaseapp.com",
databaseURL: "https://<myproject>.firebaseio.com",
projectId: "<myproject>",
storageBucket: "<myproject>.appspot.com",
messagingSenderId: "<id from Console Project Settings>" // optional
};
firebase.initializeApp(config);
关于Firebase 客户端错误 : Custom token corresponds to a different audience,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52920116/
我正在使用 REST API 列出我的 Azure 数据湖存储帐户中的所有队列。 但我收到此错误: "Audience validation failed. Audience did not matc
我想根据上一次触发事件在Firebase中定义一个受众群体。例如,我想重新吸引过去30天未打开应用程序(事件:app_open)的用户。 我一直试图根据此标准定义受众,但没有成功。 任何帮助,将不胜感
我们在 Android 应用上使用 Firebase Analytics。我们创建了一个名为“卸载者”的受众群体(发送 app_remove 事件超过 0 次),以便为卸载我们应用的用户开展再营销事件
已经有多个标题相同的问题,但我相信这个是不同的。 我创建了 2 个受众。 一个用于app_exception 事件。 还有一个用于app_remove 事件。 当我检查特定日期范围内的这些事件时,20
这是FB提供的代码,但此广告放置在顶部横幅上,我希望它适合底部横幅。是否有简单的解决方法来更改FB广告的位置?此外,该实施正在运行,并且测试广告正在运行。 -(void)viewDidLoad {
我正在开发一个 Python 包,它由一个库模块和两个使用该库的脚本组成。其中一个脚本是打印一些文本的命令行工具,另一个脚本是 JSON API 服务器。这两个脚本也可以作为希望使用该库的开发人员的示
我在 firebase 中创建了自定义受众并生成了大量用户和事件,但两天后,除了所有用户之外,每个自定义受众的受众数据都是空的。 最佳答案 您在项目设置中设置的国家/地区是否与您居住的国家/地区相同?
我正在将 Firebase 分析集成到我的 Android 应用程序中。我已成功记录事件,并且能够看到用户数量和触发事件的计数。现在我已经为一个 Activity 创建了观众 add_to_cart_
我曾尝试将Facebook广告放入我的应用程序中,该应用程序先前已与Google Admob广告一起使用。但是,在我的gradle文件中添加此行时会出错。 compile 'com.facebook.
我的应用程序运行了好几个月,突然用户遇到应用程序崩溃的情况。 Firebase Crashalytics 向我显示此错误 Fatal Exception: java.lang.ArrayIndexOu
通过 Facebook Audience Network API,我有展示位置 ID,但没有展示位置名称 https://graph.facebook.com/v2.7/XXX/app_insight
我刚刚使用“Facebook Audience Integration”创建了一个应用程序,一切正常,我已经创建了我的展示位置 ID,我可以看到“测试广告”和“真实广告”(如果我移除我的测试设备)。
图标永远不会出现,其他元素显示正确。示例代码: private lazy var adIconView: FBMediaView = { var iconView = FBMediaView()
当我想在我的测试设备上的 iOS 应用程序中显示横幅时,按照规则,我添加如下代码: [FBAdSettings addTestDevice:@"HASHED ID"]; 然后广告正常工作。我想知道我是
首先让我向您展示我对 FBNativeAd 的实现: func getNativeAd() { self.FBnativeAd = FBNativeAd(placementID: PLACEM
我最近将我的应用程序的 facebook audience sdk 更新到最新版本,并且总是因为 onLoggingImpression 而崩溃,这是 AdListener 中的一个新方法,下面是我得
我的依赖项列表中有 facebook 受众网络依赖项。它曾经有效,但由于没有明显的原因而停止解决。 编译 'com.facebook.android:audience-network-sdk:4.+'
将 Facebook Audience Network SDK 版本更新到 4.26.0 后,根据 Firebase 崩溃报告,我的应用程序因以下问题而面临大量崩溃。 Caused by java.l
E/FBAudienceNetwork:您正在使用自定义应用程序类并且不调用 AudienceNetworkAds.isInAdsProcess()。多进程支持将被禁用。如果要支持多进程模式,请调用
我创建了一个新的示例项目,用于在我的 Activity 底部显示 Facebook 受众网络横幅广告。 我的应用程序正在设备中运行,但在底部没有显示任何内容。我已经为测试设备添加了哈希。 MainAc
我是一名优秀的程序员,十分优秀!