问题标签 [xamarin.auth]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
459 浏览

xamarin.forms - 对如何在我的应用程序上正确使用 IdentityServer 感到非常困惑

我可能无法正确理解如何使用 Xamarin.Auth 正确实现 IdentityServer4。

基本上我在多种情况下使用 Xamarin.Auth

  1. 使用 OAuth2 供应商 (MS/Google/FB) 登录
  2. 使用自行实现的 OAuth2 登录(尚未使用)

说到案例 1,我从移动应用程序登录到 Google/MS/FB 后,我决定进一步做什么:转到应用程序的主页或注册用户,通过注册将电子邮件存储为用户名和 userId(那个来自供应商)作为密码。

我已经用 AspNetIdentity 实现了 IdentityServer4

从我读过的内容来看,我需要实现混合身份验证,但这里的问题是它需要使用 WebView,以防万一不再需要它。所以基本上我认为我需要使用授权流程,但尝试做任何一个都失败了。

我的问题是,大多数示例都具有一个 MVC 视图,该视图将此 url 作为 redirectURL 获取,然后在客户端使用他的用户名和密码提交 POST 之后,我将获得AuthorizationCode,RefreshTokenIdentityToken.

我真的不确定如何在我的情况下正确提交身份验证,使用什么?

我只能使用 - 隐式 - 授权代码 - 这是我第一个场景的唯一合理选择?- 混合模式 - 尝试一整天来实现这一点,意识到这是不可能的..

无论如何,在查看日志后,我看到一个突然可疑的重定向到帐户控制器(asp 登录控制器)

分析了IdentityServer4 来自 Git 的这个 /authorize 端点只接受 GET 而没有用户/密码。

编辑01:我检查了这个资源,它让我对我的场景(1)感到困惑......

https://developer.xamarin.com/guides/xamarin-forms/enterprise-application-patterns/authentication-and-authorization/

0 投票
1 回答
638 浏览

android - Xamarin.Auth:使用身份提供者对用户进行身份验证 [xamarin forms - Android]

我正在关注https://developer.xamarin.com/guides/xamarin-forms/cloud-services/authentication/oauth/的示例教程

下载示例后,我按照说明更改所有 clientID 端点。我进入 Google 登录页面,浏览器设法关闭。浏览器关闭后,它总是进入 OnAuthError 并且错误消息是“错误身份验证:invalid_request”

错误信息

我无法解雇 OnAuthCompleted。它总是进入 OnAuthError。

我已阅读所有相关链接。我从 SO 得到的最接近的问题是:Xamarin.Forms Google API Authenticating Users with an Identity Provider 但在配置设置并更新我的包后仍然失败。我正在使用 Xamarin.Auth 1.5.0.3(最新稳定版本)

外面的任何真正的英雄都可以运行本教程并使其工作吗?

0 投票
1 回答
137 浏览

xamarin - SaveAccount 在 Xamarin.Auth 中不起作用

我使用保存帐户在我的项目Xamarin.Auth中制作“记住我”功能。Xamarin.Forms它在调试模式下适用于 Android 和 iOS。但是当我在发布模式下构建它时,它不适用于两个平台。

我找不到问题所在以及如何解决它。请帮我。

谢谢。

0 投票
0 回答
229 浏览

xamarin.forms - 在 Xamarin Forms 应用中使用从 Xamarin.Auth 接收的 Google 令牌向 Azure 应用服务后端进行身份验证

我正在尝试在我的 Xamarin Forms 应用程序中使用 Google 身份验证,方法是使用 Xamarin.Auth 执行客户端身份验证,然后将接收到的令牌传递给配置为使用 Google 身份验证的 Azure 应用服务自定义网站后端。

我从客户端上的 Xamarin.Auth 取回令牌就好了。但是,当我尝试使用 MobileServiceClient 的 LoginAsync 方法时,我得到一个异常,上面写着:

Newtonsoft.Json.JsonReaderException:解析值时遇到意外字符:<。路径 '',第 0 行,第 0 位置。

我发现了这篇文章: Xamarin MobileServiceClient RefreshUserAsync with Google 403,其中 rleffler 显然有这个工作,但我认为我不能直接向他发送消息。

这是我调用 LoginAsync 的代码:

0 投票
1 回答
1913 浏览

oauth-2.0 - Xamarin.Auth Google Presenter 未在 Android Xamarin.Forms App 中关闭

我正在使用 Xamarin.Form 编写一个 Android 应用程序。我已经成功实现了 OAuth,我可以使用 OAuth2Authenticator 登录并获取用户信息。

当用户单击注册/登录时,我显示 OAuthLoginPresenter 如下:

这很好用,用户可以看到登录页面。

当用户单击允许 OAuth2Authenticator 实例上的已完成事件按预期触发并且用户再次回看应用程序时。

然而,这是我的问题所在 - 我收到通知:

如果 CustomTabs 登录屏幕未自动关闭,请通过导航回应用程序来关闭 CustomTabs。

事情是虽然我回到了应用程序。如果我查看所有打开的应用程序,我可以看到登录屏幕仍在后台运行,因此演示者尚未关闭。

在我获取重定向的拦截活动中,如下所示:

我是否错过了关闭该演示者的步骤?请问还有什么想法吗?

更新:

我现在发现使用 Chrome 作为默认浏览器可以正常工作,并且演示者已关闭。但如果我使用三星浏览器作为我的默认浏览器 - 它不会关闭。

所以我需要一种手动关闭它的方法。

0 投票
2 回答
861 浏览

android - Xamarin.Auth 的 OAuth1Authenticator 未终止未完成

我目前正在尝试REST在应用程序中使用服务xamarin.forms

要执行身份验证,我使用以下代码:

现在,通过身份验证后,用户将被重定向到customprot://oauth1redirect. 为了捕捉这种重定向,我添加了一个新的IntentFilter(适用于 Android),如下所示:

据我了解,此文档xamarin.auth将触发OAuth1Authenticator解析生成的 url 以获取经过身份验证的用户的凭据,并最终触发CompletedorError事件。但令人惊讶的是,什么也没发生:没有调用任何事件或引发错误。由于这使调试变得更加困难,我真的不知道如何解决这个问题。因此,我也在寻找有关问题原因和可能解决方案的建议。

编辑:只是为了让这一点更清楚:OnCreate调用了意图的方法,但执行该OnPageLoading方法不会引发验证器CompletedError事件。

Edit2:这是我的回调代码(我在每个回调中创建了一个断点,调试器不会中断它们或引发异常,所以我很确定,回调根本没有被调用)。

0 投票
1 回答
449 浏览

authentication - NetStandard1.4 项目的 Xamarin.Auth 替代品?

我为我的 Xamarin.Forms 2.4 项目使用 NetStandard 项目而不是 PCL 类。我正在考虑使用 Xamarin.Auth 在本地存储带有 MSAL 和用户信息的令牌接收,但 nuget 与 NetStandard 尚不兼容。我们有其他选择吗?我们可以在 NetStandard 项目中“强制”安装它吗?

谢谢,

0 投票
2 回答
518 浏览

c# - 如何使用 Xamarin.auth 切换登录用户

我正在使用 Xamarin.Auth 来保存凭据并让用户登录 Xamarin Forms 应用程序。现在,我需要实现一个“切换登录用户”,但我不知道如何正确地做到这一点。

在互联网上什么都没有。所以,如果有人可以解释或展示如何做到这一点。

要检查是否已保存帐户:

但总是只有一个帐户,我正在测试而不删除旧凭据。

0 投票
1 回答
1236 浏览

c# - 登录 facebook 后,我的 xamarin 应用程序不会重定向

我是 xamarin 表单的新手,我在 SO 和 google 上进行了大量搜索,但无法解决这个让我困了几天的问题。

我希望我的移动应用程序的用户能够使用 Facebook 登录。我遵循了https://github.com/xamarin/Xamarin.Auth/上的代码示例。我还设置了我的 developers.facebook.com 应用程序

我正在通过带有 Xamarin 的 VS2017 使用 Android 模拟器进行调试。我正在编写一个 X 平台应用程序,所以我有一个 PCL、Android 和 iOS 项目。当我单击我的 facebook 登录按钮时,facebook web UI 按预期显示,当我登录时,控制不会返回到应用程序。它只是位于嵌入式浏览器中我的 facebook 个人资料的 facebook 新闻源上。OAuth2Authenticator.Completed 事件永远不会触发。如果我按下我的 android 设备上的后退按钮,它会触发,但 e.IsAuthenticated 是错误的。

这是启动 Facebook 登录的代码

我在事件处理程序上有一个断点,但它从未命中。

不知道我做错了什么。请帮忙。

0 投票
2 回答
971 浏览

c# - 错误 CS0433:“System.Json,Version=2.0.5.0”和“Xamarin.Auth”中都存在“JsonValue”类型 (CS0433)

我正在尝试使用 Xamarin.Forms 在 Visual Studio for Mac 中创建一个应用程序。在这个应用程序中,我使用 Xamarin.Auth 来存储一些用户详细信息。现在我想使用 JSON 添加与 API 的连接。我添加了 System.Json 并添加了我的代码。但问题是我得到了错误:

错误 CS0433:“System.Json,Version=2.0.5.0”和“Xamarin.Auth”(CS0433) 中都存在“JsonValue”类型。

我删除了 Xamarin.Auth 并将其添加到项目中。我在关闭 Visual Studio 时删除了 OBJ 和 BIN 文件夹,启动 VS,清理解决方案,重建解决方案并再次尝试,但仍然是同样的错误。我似乎无法找出问题所在。

我不太确定它是否会有所帮助,但这是发生错误的一段代码,我知道该函数目前没有返回任何内容,但我只是想弄清楚如何进行 JSON/API 调用和让代码编译没有错误: