针对Windows Phone 8开发和使用Azure的Google认证问题



我目前使用谷歌认证,允许用户登录到我的应用程序,但有几件事我想做得更远,我不确定如何做到这一点。

第一件事是只允许来自特定域的电子邮件地址,这样只有该域的注册用户才能登录到应用程序,因此,例如,您将无法使用"@gmail.com"帐户登录。(允许的域名是我们学校使用Gmail的域名)

其次,当你登录时,它会说"欢迎Google:0000000000000"(用实际的userId替换0),但我想使用用户名。当你认证应用程序使用你的谷歌账户时,它说你允许它访问你的基本信息,我猜包括你的名字,但我不知道如何使用别人的名字。

我使用了这个Azure教程,所以很多代码都不在我的应用程序中。

如果您正在使用oauth。然后,在oauth请求中,您可以添加"hd=domain.com",它将限制来自该域的用户的身份验证。这里有一个例子:谷歌客户端API -限制oauth认证到我的域。如果您不使用oauth,请指定更多关于身份验证类型的信息。

我假设您正在使用oauth并且已经获得了令牌。您可以通过端点:https://www.googleapis.com/oauth2/v2/userinfo和作用域:https://www.googleapis.com/auth/userinfo.email获得用户的用户名。在这里你可以做一些测试。

我已经找到了答案在高检索用户的名称存储在数据库随着一些其他有用的信息关于我的第二个请求:http://blogs.msdn.com/…

关于第一个问题,我从微软代表那里得到了以下回复,我将对此进行调查。

您可以做的是创建一个"虚拟"表,在您登录后,您对该表进行调用(可以是任何操作),并在表操作(选择插入/更新或读取中的一个)的脚本上验证电子邮件。将来我们可能会使这一过程更容易。

更新:所以,他们的谷歌认证代码有一个问题-你会得到一些关于用户的基本信息,但电子邮件不是其中之一。

最新更新