这让我疯狂> =(
$ facebook-> getUser()有时运行良好,但有时会返回0
这是我的代码:
require 'fbapi/facebook.php';
$facebook = new Facebook(array(
'appId' => 'xxx',
'secret' => 'xxxxx',
));
$user = $facebook->getUser();
该应用标识和秘密是正确的.
这可能是getUser有时会返回0的原因???
php facebook-iframe facebook-graph-api facebook-authentication facebook-php-sdk
我正在开发一个应用程序,它使用Facebook作为应用程序标准帐户创建流程的备用登录方法.在某些设备上,Facebook的Web对话框身份验证产生错误"您的浏览器未启用Cookie.请在您的安全首选项中进行调整".
到目前为止,我只在亚马逊的Kindle Fire和Galaxy Tab 10.1上看过它.我已经验证在两台设备上都启用了Cookie,并且设备可以使用其库存网络浏览器登录Facebook.在设备上重新安装我的应用程序没有任何效果,并且在启动Web对话框时,logcat中不存在任何错误或警告.我正在使用最新的Facebook SDK 3.0 for Android.
任何关于这个问题的见解将不胜感激.
编辑:我还应该补充一点,我不确定是否存在cookie问题.如果我输入了伪造的密码,FB对话框将尝试登录并失败并显示密码错误消息.如果我然后尝试再次登录,使用真实密码,对话框将通过,一切都将顺利处理.也正确创建了FB会话.仅当我首先尝试"真实"登录时才会出现Cookie错误,而不是第一次登录失败然后再次登录.
cookies android facebook facebook-authentication facebook-login
我当前的用户故事是user1登录到我的网站和Facebook(这些帐户已连接等).
User1退出我的网站,但不登录Facebook.
在此user2登录到他的帐户之后,来自user1的剩余会话将与user2与我的站点的交互以及他们发布的人员相关联.
因此,为了解决这个问题,我检查了登录的用户是否实际拥有当前登录的facebook(这会导致他们进入facebook登出等),并显示一个允许用户注销的链接. .
点击链接后,他们将转到Facebook并返回该网站.但是,如果您打开一个新标签并转到Facebook,User1仍然会登录.
我怎样才能使这个链接起作用..发生了什么.这是api的错误还是什么?...
编辑:我继续使用有价值的用户ID加载和有效的访问权限来测试,但我还没有让注销链接工作.
所以我想这个问题有两个方面
将Facebook OAuth权限授予我的用户域实体(Facebook用户ID?或令牌?或两者或其他内容)时,我应该存储什么?
我是否可以通常使用DelegatingHandler保护ASP.NET Web API以读取访问令牌?
目前我的核心架构如下:
我的客户是
我按照"使用Facebook登录创建一个新的Android项目"部分的步骤访问https://developers.facebook.com/docs/getting-started/facebook-sdk-for-android/3.0/登录过程很好.因为我想使用本机Android按钮供用户登录,所以我将以下代码移动到原生Android按钮的View.OnClickListener()中稍微修改代码.以下是侦听器中的代码:
Session.openActiveSession(MainActivity.this, true, new Session.StatusCallback() {
// callback when session changes state
@Override
public void call(Session session,SessionState state, Exception exception) {
if (session.isOpened()) {
// make request to the /me API
Request.executeMeRequestAsync(session,new Request.GraphUserCallback() {
// callback after Graph API
// response with user object
@Override
public void onCompleted(GraphUser user,Response response) {
if (user != null) {
Toast.makeText(getApplicationContext(), "Hello " + user.getName() +" "+user.getId()+"!", Toast.LENGTH_LONG).show();
}
}
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
onActivityResult()和AndroidManifest.xml与教程相同
@Override
public void onActivityResult(int requestCode, int resultCode, …
Run Code Online (Sandbox Code Playgroud) android facebook facebook-authentication facebook-android-sdk
我开发了一款使用Facebook SDK 3.0的Android应用程序.在developers.facebook.com上,它显示了很多API错误,最常见的是:
auth.androidauthorizeapp
auth.extendssoaccesstoken
有人能告诉我我能做些什么来解决这些错误吗?非常感谢您的帮助.谢谢.
android facebook-authentication facebook-android-sdk facebook-access-token
我正在创建一个仅使用Facebook/Google身份验证的ASP.NET 5 MVC 6应用程序.我也试图在没有整个ASP.NET身份的情况下使用cookie中间件 - 遵循这篇文章:https: //docs.asp.net/en/latest/security/authentication/cookie.html
所以我开始使用没有身份验证的空白应用程序然后添加了Microsoft.AspNet.Authentication.Cookies和Microsoft.AspNet.Authentication.Facebook NuGet包,以便采用非常简约的方法,其中我不包含任何我不包含的内容需要.
我将以下代码添加到Startup.cs中的Configure中,但我得到"必须提供SignInScheme选项"错误.知道我错过了什么吗?
app.UseCookieAuthentication(options =>
{
options.AuthenticationScheme = "MyCookieMiddlewareInstance";
options.LoginPath = new PathString("/Accounts/Login/");
options.AccessDeniedPath = new PathString("/Error/Unauthorized/");
options.AutomaticAuthenticate = true;
options.AutomaticChallenge = true;
});
app.UseFacebookAuthentication(options =>
{
options.AppId = "myFacebookAppIdGoesHere";
options.AppSecret = "myFacebookAppSecretGoesHere";
});
Run Code Online (Sandbox Code Playgroud) c# cookies facebook-authentication asp.net-core-mvc asp.net-core
我们正在使用Facebook JavaScript SDK来验证我们的Facebook应用程序.该应用程序使用Canvas URL配置为http://facebook.elgifto.com/Home/Index/.以下是我们用于验证Facebook用户的代码.
<script type="text/javascript">
window.fbAsyncInit = function() {
debugger;
FB.init({
appId: '<%= ViewData["AppId"].ToString() %>', // App ID
channelUrl: '<%= ViewData["ChannelUrl"].ToString() %>', // Channel File
status: true, // check login status
cookie: true, // enable cookies to allow the server to access the session
xfbml: true, // parse XFBML
oauth: true
});
FB.Event.subscribe('auth.login', function(response) {
if (response.status === 'connected') {
// the user is logged in and connected to your
// app, and response.authResponse supplies
// the …
Run Code Online (Sandbox Code Playgroud) javascript facebook facebook-javascript-sdk facebook-authentication
我正在尝试使用Facebook来验证用户身份.除了Ajax调用之外它工作正常.大多数时候它只发送旧令牌,我得到:
{"error":{"message":"This authorization code has been used.","type":"OAuthException","code":100}}
Run Code Online (Sandbox Code Playgroud)
所以我尝试做的是用每个ajax调用
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
return fn();
...
Run Code Online (Sandbox Code Playgroud)
这没用,所以我添加了:true作为getLoginStatus的参数以防止缓存:
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
console.log('connected');
fn();
} else if (response.status === 'not_authorized') {
console.log('not_authorized);
} else {
console.log('not_logged_in');
}
},true);
Run Code Online (Sandbox Code Playgroud)
大!除非它非常缓慢.难道我做错了什么?我可以在每次操作后获得新的令牌,所以我不需要在下一次之前等待吗?
谢谢你
facebook facebook-graph-api facebook-authentication facebook-login
已解决:Firebase 故障排除页面已更新:
当您将 AAB 上传到 App Distribution 时,Google Play 会自动使用测试应用签名密钥证书对生成的 APK 进行签名。出现提示时,如果您想继续使用 API 提供商的第三方服务,则必须向 API 提供商注册您的应用程序。签名后,您可以在 Firebase 控制台中查看应用的测试证书。
自从我开始在 Firebase App Distribution 上上传 AAB 而不是 APK 以来,我注意到 Facebook 和 Google 身份验证不再起作用。
在我的 Firebase 的 Android 应用程序设置中,我已经添加了以下 SHA-1 指纹:
./gradlew signingReport
)./gradlew signingReport
)我还在 Meta (Facebook) 开发者控制台中上传了相关的 Base64 哈希密钥。
一切都按预期工作,直到我开始上传 AAB 而不是 APK。例如,当我尝试使用 Facebook 登录时,会显示以下错误消息:
无效的密钥哈希。它们的密钥哈希 <key_hash> 与任何存储的密钥哈希不匹配。在https://developers.facebook.com/app/ <facebook_app_id>/配置您的应用程序密钥哈希
从这个密钥哈希中,我能够检索其关联的 SHA-1 指纹。将其添加到 Firebase …
android facebook-authentication google-oauth android-app-bundle firebase-app-distribution
facebook ×5
android ×4
cookies ×2
php ×2
.net ×1
asp.net-core ×1
c# ×1
google-oauth ×1
javascript ×1
logout ×1
oauth-2.0 ×1
session ×1