0
所以我有我的統一應用程序有點工作。現在我的問題是這樣的: the screen which comes up when i press the log in with Facebook button in my scriptFacebook的統一訪問令牌firebase
是在統一編輯器環境下測試時的這個標準嗎?
此外,我注意到屏幕要求輸入令牌。我真正想要做的就是訪問這個令牌並將其傳遞給Facebook的Firebase身份驗證方法。我可以將它保存爲authCallBack函數嗎?如果是這樣,我只需將創建的憑證傳遞給調用身份驗證任務的accessToken方法,或者我當然完全是這樣嗎?任何幫助將不勝感激
這裏是我的代碼:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Facebook.Unity;
using Firebase.Auth;
public class FacebookHandler : MonoBehaviour {
// Use this for initialization
private void Awake()
{
FB.Init(setInit, onHideUnity);
}
void setInit()
{
if (FB.IsLoggedIn)
{
Debug.Log("fb is logged in");
}
else
Debug.Log("fb is not logged in");
}
//for whether the game is open or not
void onHideUnity(bool isGameShown)
{
if (!isGameShown)
{
Time.timeScale = 0;
}
else
Time.timeScale = 1;
}
public void fbLogin()
{
List<string> permissions = new List<string>();
//asks facebook for the users profile
permissions.Add("public_profile");
permissions.Add("email");
permissions.Add("user_friends");
FB.LogInWithReadPermissions(permissions, authCallBack);
}
void authCallBack(IResult result)
{
if (result.Error != null)
{
Debug.Log(result.Error);
}
else
{
if (FB.IsLoggedIn)
{
Debug.Log("logged in");
AccessToken token = AccessToken.CurrentAccessToken;
Credential credential = FacebookAuthProvider.GetCredential(token.TokenString);
accessToken(credential);
}
else
Debug.Log("not logged in");
}
}
public void accessToken(Credential firebaseResult)
{
FirebaseAuth auth = FirebaseAuth.DefaultInstance;
if (FB.IsLoggedIn)
return;
auth.SignInWithCredentialAsync(firebaseResult).ContinueWith(task =>
{
if (task.IsCanceled)
{
Debug.LogError("SignInWithCredentialAsync was canceled.");
return;
}
if (task.IsFaulted)
{
Debug.LogError("SignInWithCredentialAsync encountered an error: " + task.Exception);
return;
}
FirebaseUser newUser = task.Result;
Debug.LogFormat("User signed in successfully: {0} ({1})",
newUser.DisplayName, newUser.UserId);
});
}
}
好的,謝謝。如果我要啓動我的應用程序,有什麼不同的,我需要做我的代碼?即保存訪問令牌? –
如果您計劃爲應用程序開發服務器端,則可以使用應用程序訪問令牌來調試此令牌。爲了確保此令牌來自您的應用程序,但爲了安全起見,應用程序訪問令牌絕不應硬編碼到客戶端代碼中。 –
嗨鮑里斯。仍然有麻煩。我已經完成了訪問令牌調試,當我嘗試在手機上使用它時,我仍然收到無效的訪問令牌。我需要添加哪些代碼才能解決此問題?謝謝。 –