我正在尝试使用Facebook登录按钮创建Xamarin.Forms应用程序。一切正常,直到发生Completed
事件的那一部分为止,该事件从未触发。
我正在使用PageRenderer
来启动身份验证流程,如下所示:
[assembly: ExportRenderer(typeof(Page1), typeof(LoginPageRenderer))]
namespace xmrn1.Droid {
class LoginPageRenderer : PageRenderer {
private const string ClientId = "<sanitized>";
public LoginPageRenderer(Context ctx) : base(ctx) { }
protected override void OnElementChanged(ElementChangedEventArgs<Page> e) {
base.OnElementChanged(e);
var authorizeUri = new Uri("https://www.facebook.com/dialog/oauth/");
var redirectUri = new Uri($"fb{ClientId}://authorize");
var auth = new OAuth2Authenticator(
ClientId,
"email",
authorizeUri,
redirectUri);
auth.Completed += Auth_Completed;
var ui = auth.GetUI(Context);
Context.StartActivity(ui);
}
private void Auth_Completed(object sender, AuthenticatorCompletedEventArgs e) {
// This never gets called
}
}
}
这是我的“ Facebook登录”设置:
以及我的“高级设置”设置:
答案 0 :(得分:0)
找到了答案,我不得不在Web OAuth Login
设置中打开Facebook Login
,还需要将redirectUri
更改为我域中的某个uri,然后将该uri添加到Valid OAuth Redirect URIs
在相同的设置窗口中。
但是奇怪的是,现在我登录时,并且出现两因素身份验证代码提示,我的手机上显示了一个身份验证器弹出通知,要求我批准,并且当我按“是”时,它不会自动确认登录后,我还是必须手动输入2fa代码...