我想让用户使用他们的谷歌帐户连接到我的Xamarin Forms应用程序。我一直在学习本教程:
https://www.syncfusion.com/blogs/post/google-login-integration-in-xamarin-forms-a-complete-guide.aspx
重定向URL值中应该包含什么?现在我有“400错误:invalid_request”。我可能应该在某个地方注册那个页面?那个页面应该是什么?我想在登录后获取用户信息,并将其重定向到主应用程序页面(主页())。
我有这个代码:
Xamarin.Auth.OAuth2Authenticator authenticator = null;
private void SignInGoogleClicked(object sender, EventArgs e)
{
authenticator
= new Xamarin.Auth.OAuth2Authenticator
(
clientId: "498923533154-uefrhbk3i9v7nqd7lep9lqb85u783m7v.apps.googleusercontent.com",
scope: "https://www.googleapis.com/auth/userinfo.profile https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/cloud-healthcare",
authorizeUrl: new Uri("https://accounts.google.com/o/oauth2/auth"),
redirectUrl:
new Func<Uri>
(
() =>
{
string uri = null;
switch (Xamarin.Forms.Device.RuntimePlatform)
{
case "Android":
uri =
"com.xamarin.traditional.standard.samples.oauth.providers.android:/oauth2redirect"
//"com.googleusercontent.apps.1093596514437-uefrhbk3i9v7nqd7lep9lqb85u783m7v:/oauth2redirect"
;
break;
case "iOS":
uri =
"com.xamarin.traditional.standard.samples.oauth.providers.ios:/oauth2redirect"
//"com.googleusercontent.apps.1093596514437-cajdhnien8cpenof8rrdlphdrboo56jh:/oauth2redirect"
;
break;
case "Windows":
uri =
"com.xamarin.traditional.standard.samples.oauth.providers.ios:/oauth2redirect"
//"com.googleusercontent.apps.1093596514437-cajdhnien8cpenof8rrdlphdrboo56jh:/oauth2redirect"
;
break;
}
return new Uri(uri);
}
).Invoke(),
getUsernameAsync: null,
isUsingNativeUI: false
)
{
AllowCancel = true,
};
NavigateLoginPage();
}
Xamarin.Auth.XamarinForms.AuthenticatorPage login_page = null;
private void NavigateLoginPage()
{
login_page = new Xamarin.Auth.XamarinForms.AuthenticatorPage()
{
Authenticator = authenticator,
};
Navigation.PushAsync(login_page);
}