1

我正在使用Azure MobileServiceClient通过移动应用程序进行身份验证。我想启用安全的注销功能,其中包括删除由Web组件创建的Cookie。否则,任何选择“登录”的人都可以简单地登录,如果有一个未到期的cookie存在。删除cookies的效果很好。在服务器端提供“login_hint”Azure移动应用程序

不幸的是,这意味着用户返回同一设备上的同一个提供程序必须再次提供他们的用户名(显然,我不想存储他们的密码)。

我发现如何使它与谷歌合作。 (Google OpenId doc)我只是提供LoginAsync方法的参数字典。该字典包含关键“login_hint”和用户的电子邮件地址(其中,顺便说一句,必须有效)。

这似乎不适用于Facebook,微软或Twitter帐户,我不知道为什么。我读了一篇文章,说“login_hint”或“用户名”是按惯例支持的,但似乎没有任何效果。

任何人都有任何经验(甚至完全不同的方法)与他们可以分享?

TIA。

回答

2

为了实现IdP提供的解决方案,您需要转移到客户端流身份验证。 Client-Flow是当您使用IdP提供的SDK来认证用户时。一旦IdP向您提供了令牌,您就可以将该令牌(静默)传递给Azure移动应用程序,以将其交换为可与Azure移动应用程序服务一起使用的ZUMO令牌。

启用客户端流程后,您可以执行IdP(Facebook,Google等)允许您执行的任何操作。这不是一个真正的Azure移动问题 - 更多的是IdP问题。

+0

谢谢,阿德里安。我担心access_token流向客户端的方式不如服务器方式。仍然试图让我的头绕过这一切。我会看看你的GitHub存储库ToDo,看看客户端的方法是否在那里。我试图避免4个平台乘以4个提供商值得工作。懒惰的我。 :) – nhwilly

+0

我以为我记得提到你做过的一个样本,但我一定是在那里有一个高级时刻。我会继续寻找一些示例代码。看起来像那种东西到处都是,但我很难找到它。再次感谢。 – nhwilly

+0

我正在为Xamarin Forms中的客户端流程创建一些新样本,但他们还没有。 –

相关问题