-1
我想用Facebook API和AWS認證製作登錄系統。在Android開發環境中使用Facebook - cognito登錄是不可能的嗎?
我有facebook應用程序密鑰和認知身份池。
Facebook向我發送適當的AccessToken,但是當我將它發送到AWS身份池時,沒有任何迴應。
這是我的代碼。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
setupFacebookStuff();
final AccessToken fbAccessToken=AccessToken.getCurrentAccessToken();
if(fbAccessToken!=null)
{
setFacebookSession(fbAccessToken);
}
facebookLoginButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startFacebookTracking();
loginManager.logInWithReadPermissions(StartActivity.this, Arrays.asList("public_profile"));
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
callbackManager.onActivityResult(requestCode, resultCode, data);
if (Session.getCurrentSession().handleActivityResult(requestCode, resultCode, data)) {
return;
}
}
private void setupFacebookStuff() {
callbackManager=CallbackManager.Factory.create();
loginManager= LoginManager.getInstance();
LoginManager.getInstance().registerCallback(callbackManager, new FacebookCallback<LoginResult>() {
@Override
public void onSuccess(LoginResult loginResult) {
setFacebookSession(loginResult.getAccessToken());
}
@Override
public void onCancel() {
}
@Override
public void onError(FacebookException error) {
Snackbar.make(linearLayout, getString(R.string.network_failure), Snackbar.LENGTH_LONG).show();
}
});
}
private void setFacebookSession(AccessToken accessToken) {
CognitoSyncClientManager.addLogins("graph.facebook.com",
accessToken.getToken());
redirectMainActivity();
}
我在我的GlobalApplication中初始化我的CognitoSyncClientManager,它是靜態的。
當我點擊Facebook登錄按鈕時,回調成功。 但是,當我看到AWS身份池時,沒有身份。 我認爲這是因爲我的Facebook應用程序密鑰是用於開發環境的。 我對不對?比我該怎麼做?
「我認爲這是因爲我的Facebook應用程序密鑰是用於開發環境的,對嗎?我應該怎麼做?」如果因爲密鑰不允許而無法登錄,請獲取發佈密鑰並將您的應用上傳到Alpha/Beta頻道進行測試 – Zoe
要回答標題:IT並非不可能。你可能做錯了什麼。忘了撥打一些方法或什麼 – Zoe
@LunarWatcher謝謝,我會試試看。 –