我正在Xamarin.Forms应用程序中实现身份验证。我正在看这个样本“TodoAWSAuth - Configuring Google as an OAuth identity provider”。在我的特定于android的OAuthLoginPresenter的实现中,我有这样的代码: 使用Xamarin.Auth;
namespace InstagramApp.Droid
{
public class OAuthLoginPresenter
{
public void Login(Authenticator authenticator)
{
Xamarin.Forms.Forms.Context.StartActivity(authenticator.GetUI(Xamarin.Forms.Forms.Context));
}
}
}
我:
Xamarin.Forms.Forms.Context.StartActivity(authenticator.GetUI(Xamarin.Forms.Forms.Context));
给我回复:
参数1:无法从'object'转换为'System.Type'
与链接中的示例相同。可能是什么问题?
同样在Xamarin文档中,代码是相同的: Xamarin.Auth documentation
感谢所有
答案 0 :(得分:1)
*编辑:下面的API可能已随Xamarin.Auth 1.5而改变。见moljac的回答。
对我来说,我正在使用该活动启动登录页面并传入上下文,但我也在ContentPage
渲染器的OnElementChanged()
方法中运行以下代码:
Android.App.Activity activity = Context as Android.App.Activity;
//Initialize authenticator
activity.StartActivity(auth.GetUI(activity));
答案 1 :(得分:1)
Xamarin.Auth 1.4.x支持自定义标签和SafariViewController,但没有Xamarin.Forms支持大多数用户想要的内容。 Xamarin.Forms支持即将发布1.5.0-alpha。
从回购中提取的样本:
https://github.com/moljac/Xamarin.Auth.Samples.NugetReferences
漫画书是Xamarin.Forms
提供者传统/标准
那些会让你知道如何做到这一点。