1

我目前正在使用 Google 身份验证来允许用户登录我的应用程序,但是我想做一些事情来更进一步,我不确定如何去做。

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

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

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

任何帮助将不胜感激,如果您有更多问题,请提出。

4

2 回答 2

0

我找到了很高的答案来检索用户名以存储在数据库中,以及关于我的第二个请求的其他一些有用信息:http://blogs.msdn.com/...

关于第一个问题,我得到了一位微软代表的回复,他说了以下我将调查的内容。

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

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

于 2013-03-05T22:34:05.667 回答
0

如果您使用的是 oauth。然后在 oauth 请求中,您可以添加“hd=domain.com”,它将限制对来自该域的用户进行身份验证。这是一个示例:Google 客户端 API - 将 oauth 身份验证限制为我的域。如果您不使用 oauth,请提供有关身份验证类型的更多信息。

我假设您正在使用 oauth 并且已经获得了令牌。您可以使用端点获取用户的用户名:https://www.googleapis.com/oauth2/v2/userinfo,范围为:https ://www.googleapis.com/auth/userinfo.email 。在这里你可以做一些测试更多细节如何做到这一点。

于 2013-03-04T20:37:34.693 回答