xamarin - 错误:当前上下文中不存在名称 AuthenticationState
问题描述
我正在为我的项目做谷歌登录。我收到此错误:MainActivity.cs 页面中的“当前上下文中不存在名称 AuthenticationState”。请参阅随附的屏幕截图。它会通过添加一些nuget包来删除吗?我只添加了 xamarin.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
根据您要连接的远程服务将参数替换为构造函数。
推荐阅读
- javascript - 为什么这个 SVG 异物没有在 Firefox 中显示,但它在 chrome 中?
- jenkins - jenkins 安装:无法创建临时文件
- reactjs - 在 React Native 中查看层次结构推荐?
- ubuntu - 通过 Ansible get_url 安装 jdk17 时出错
- c# - 如何将数据传递给列表?
- python - Django如何在选择输入中显示选择
- java - 如何使用整数数组作为泛型数组的参数?
- jenkins - 失败阶段但通过 Jenkins 构建并设置标志的更智能方法
- velo - 如何解决“无法完成付款。请联系发卡机构
- javascript - 通过 PowerShell 单击带有 invoke-webrequest 的 onclick