Xamarin.Auth Facebook 登录完成事件未触发
Xamarin.Auth Facebook login Completed event not firing
我正在尝试创建一个带有 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 Login" 设置:
我的 "Advanced Settings" 设置:
找到答案,我必须在 Facebook Login
设置中打开 Web OAuth Login
,并将 redirectUri
更改为我域中的某个 uri,并添加该 uri在相同设置 window.
中的 Valid OAuth Redirect URIs
但奇怪的是,现在当我登录并出现双因素身份验证代码提示时,我的 phone 显示一个身份验证器弹出通知,要求我批准,当我按下 "Yes" 它不会自动确认登录,我必须手动输入2fa代码...
我正在尝试创建一个带有 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 Login" 设置:
我的 "Advanced Settings" 设置:
找到答案,我必须在 Facebook Login
设置中打开 Web OAuth Login
,并将 redirectUri
更改为我域中的某个 uri,并添加该 uri在相同设置 window.
Valid OAuth Redirect URIs
但奇怪的是,现在当我登录并出现双因素身份验证代码提示时,我的 phone 显示一个身份验证器弹出通知,要求我批准,当我按下 "Yes" 它不会自动确认登录,我必须手动输入2fa代码...