首页 > 解决方案 > 错误:当前上下文中不存在名称 AuthenticationState

问题描述

我正在为我的项目做谷歌登录。我收到此错误:MainActivity.cs 页面中的“当前上下文中不存在名称 AuthenticationState”。请参阅随附的屏幕截图。它会通过添加一些nuget包来删除吗?我只添加了 xamarin.auth 包。如何解决这个错误?

在此处输入图像描述

标签: xamarinxamarin.formsgoogle-authenticationxamarin.auth

解决方案


在执行Authenticating Users with an Identity Provider中的步骤时,我遇到了同样的错误。该页面根本没有说明您应该在这里做什么。

该类AuthenticationState示例项目中具有对身份验证器的引用的类。OAuth2Authenticator身份验证器是您可能已在启动登录流程的方法中作为局部变量创建的实例。由于在登录流程完成后重新启动您的应用程序时需要相同的身份验证器,因此最好将其作为静态属性添加到另一个类,以便登录流程和重新启动您的应用程序时都可以使用。

例如,AuthenticationState该类可能如下所示:

public class AuthenticationState
{
    public static OAuth2Authenticator Authenticator { get; } =
        new OAuth2Authenticator(clientId, clientSecret, scopes,
            new Uri(authorizeUrl), new Uri(redirectUrl),
            new Uri(tokenUrl), null, true);
}

OAuth2Authenticator根据您要连接的远程服务将参数替换为构造函数。


推荐阅读