我有一个使用Facebook的应用程序
Firebase 3.0之前的html" target="_blank">应用程序版本以前是有效的,但在控制台升级后,它不再能够登录Facebook。
我所做的:
1-升级了Firebase控制台
因为火基
2 - 将火库脸书OAuth回调粘贴到脸书控制台(无效之前)“https://xxx.firebaseapp.com/__/auth/handler”
例外情况:
firebase身份验证侦听器触发Firebase错误:
提供的身份验证凭据无效。和Facebook:{"ProviderErrorInfo":{"code": 400,"message":"来自Facebook的debug_token响应不成功:{\"error\":{\"message\":\"(#100)您必须提供应用访问令牌或应用所有者或开发者的用户访问令牌\",\"type\":\"OAuthException\",\"code\": 100,\"fbtrace_id\":\"DG4lLRJHFBS\"}}"}}
Firebase错误代码:
在FirebaseAndroidSdk的反编译代码中,错误对象为:
0={java.util.LinkedHashMap$LinkedEntry@22680}“代码”-
1 = {java.util.LinkedHashMap$LinkedEntry@22681} “消息” -
2={java.util.LinkedHashMap$LinkedEntry@22682}"细节"-
使用反编译的代码:
private void makeAuthenticationRequest(String urlPath, Map<String, String> params, AuthResultHandler handler) {
final AuthenticationManager.AuthAttempt attempt = this.newAuthAttempt(handler);
this.makeRequest(urlPath, HttpRequestType.GET, params, Collections.emptyMap(), new RequestHandler() {
public void onResult(Map<String, Object> result) {
Object errorResponse = result.get("error");
String token = (String)Utilities.getOrNull(result, "token", String.class);
if(errorResponse == null && token != null) {
if(!AuthenticationManager.this.attemptHasBeenPreempted(attempt)) {
AuthenticationManager.this.authWithCredential(token, result, attempt);
}
} else {
FirebaseError error = AuthenticationManager.this.decodeErrorResponse(errorResponse);
AuthenticationManager.this.fireAuthErrorIfNotPreempted(error, attempt);
}
}
public void onError(IOException e) {
FirebaseError error = new FirebaseError(-24, "There was an exception while connecting to the authentication server: " + e.getLocalizedMessage());
AuthenticationManager.this.fireAuthErrorIfNotPreempted(error, attempt);
}
});
}
在身份验证程序级别,火基错误代码: -20
https://www.firebase.com/docs/java-api/javadoc/com/firebase/client/FirebaseError.html
指定的身份验证凭据无效。
Facebook错误代码:
代码400
这里没有找到任何相关内容: https://developers.facebook.com/docs/graph-api/using-graph-api/#errors
认证代码:
public void authWithFirebase(final String provider, Map<String, String> options) {
if (options.containsKey(AUTH_OPTIONS_ERROR)) {
EventBus.getDefault().post(new MessageToDisplayEvent(options.get(AUTH_OPTIONS_ERROR), true));
} else {
if (provider.equalsIgnoreCase(AUTH_PROVIDER_TWITTER)) {
// if the provider is twitter, we must pass in additional options, so use the options endpoint
ref.authWithOAuthToken(provider, options, new AuthResultHandler(provider));
} else {
// if the provider is not twitter, we just need to pass in the oauth_token
ref.authWithOAuthToken(provider, options.get(AUTH_OPTIONS_TOKEN), new AuthResultHandler(provider));
}
}
}
令牌有效期:
根据上面的代码,令牌被确认为有效,因为:
https://graph.facebook.com/app?access_token={your_access_token}返回有效的JSON
脸书工具访问令牌 https://developers.facebook.com/tools/debug/accesstoken 返回一个仍然有效的令牌
从用户的角度来看发生了什么变化:
我在Firebase上发布了一个bug报告,但我甚至不知道这是Facebook还是Firebase,欢迎为探索新的问题表面或解决方案提供任何帮助和建议。
在 Facebook 开发工具控制台中,关闭有关“集成在客户端中的应用密钥”的选项。
对我来说,这改变了行为。我会提供更多从Firebase/Facebook获得的信息。
这是一个法语截图,以帮助您设置脸书:
我的OpenShift 4.5. x安装中的控制台用户界面神秘地停止工作。现在访问控制台URL会导致消息: 应用程序不可用 应用程序当前未在此终结点处为请求提供服务。它可能尚未启动或仍在启动。 如果路由存在但找不到相应的服务或pod,通常会看到这一点,但在这种情况下,路由存在: 该服务存在: 豆荚存在并且健康: 查看控制台pods的日志,联系oauth服务似乎有问题: 但是 命名空间中的 pod
我和你一样在检查东西,在facebook上发现了这个有趣的东西。 我理解,这完全可以通过类似的方式实现: 来源 我的主要问题是,他们如何阻止在控制台中总是显示在右边的.js:line_numer文件的显示? 你注意到红色的圆圈了吗?但是以facebook为例,他们不显示这些信息。我在网上找过了。Mozilla上的控制台API(链接),那么有人可能知道如何排除特定的信息吗?
我有一个使用Visual Studio 2010/C#编写的控制台应用程序 我通过属性添加了一个图标-
控制台运行在具有nova-dashboard这一服务器角色的节点上。 向这个云服务的管理员咨询能登录控制台的主机名,IP地址,账号和密码。 打开一个启用了JavaScript和Cookies的浏览器。 注意: 如果要使用VNC客户端,你的浏览器需要支持HTML5 Canvas和HTML5 WebSockets。VNC浏览器基于noVNC。详情请查阅noVNC: HTML5 VNC Client。想
我正在迁移一个遗留的应用程序来使用logback,在这个过程中我试图保持所有的旧功能以相同的方式工作。遗留应用程序所做的一件事是,如果无法写入日志文件(由于空间不足、权限不正确等原因),则将日志记录到控制台 对于logback,似乎应该由StatusListener来处理这个问题,我可以使用getOrigin获得筛选后的附加程序,但我不知道如何获得与origin附加程序相关联的日志记录程序。有可能
从Symfony 4升级到最新的Symfony 5版本后,我尝试升级我的注册和登录表单保护功能,使其成为验证器功能。 在尝试了很多东西,并一次又一次地使用和命令后,我现在处于一个没有警告,没有错误的情况下,只是当我试图登录时,什么都没有发生:没关系无论用户名/密码组合是否正确,我只是回到登录表单。 以下是我认为可能与该问题相关的文件: 配置/包/security.yaml src/Controll