2013-02-27 46 views
1

我目前使用谷歌认证,让用户登录到我的应用程序,但有几件事情我想要做的更进一步,而且我不确定该怎么办所以。谷歌认证的问题开发的Windows Phone 8,并使用Azure的

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

其次,当你登录时会说“Welcome Google:0000000000000”(用实际的userId替换0),但我想用用户名。当您认证应用使用您的Google帐户时,它表示您允许它访问您的基本信息,我假设您的名字包含您的姓名,但我不知道如何使用某人的姓名。

我用this Azure tutorial等大量的代码是不是我的应用程序中。

任何帮助将不胜感激,如果你有更多问题,只是问。

回答

0

我发现高到与对我的第二个请求这里的一些其他有用的信息存储在数据库中检索用户的名字答案:http://blogs.msdn.com/...

关于第一个问题,我从一个响应微软代表说,我会研究以下内容。

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

更新:因此,他们的Google身份验证代码存在问题 - 您将获得有关用户的一些基本信息,但电子邮件不是其中之一。

0

如果您正在使用OAuth。然后在oauth请求中,您可以添加“hd = domain.com”,它将限制身份验证给来自该域的用户。这里是一个例子:Google client API - limit oauth authentication to my domain。如果您不使用oauth,请详细了解有关认证类型的更多信息。

我假设你正在使用OAuth和已经有了一个令牌。您可以通过端点https://www.googleapis.com/oauth2/v2/userinfo获取用户名,其范围为:https://www.googleapis.com/auth/userinfo.email。在这里你可以做一些testsMore details how to do it.

+0

整理。 使用Windows Azure,您可以简单地输入通过Google客户端API生成的客户端ID和客户端密钥。 为了避免解释它自己,在这里看到:http://www.windowsazure.com/en-us/develop/mobile/tutorials/get-started-with-users-wp8/。因此,我的应用程序中只有很少的验证代码。 – dudledok 2013-03-05 00:49:08