我正在使用Azure移动服务来存储我的Android应用中的数据。用户必须使用Google登录,并且我已使用Azure的Easy Auth来实现该功能。
但是,我还需要用户的显示名称和电子邮件。我搜索了很多,无法找到如何获取信息的方法。我知道对于Facebook或Microsoft等其他提供商,您只需检查应包含在响应中的属性(例如Microsoft as provider),但对于Google,Azure不提供任何属性。
答案 0 :(得分:2)
我只是按照How to configure your App Service application to use Google login为Google登录配置了应用服务身份验证(Easy Auth)。我只是利用Server-managed authentication并通过浏览器在我的移动应用后端登录,如下所示:
GET https://<your-app-name>.azurewebsites.net/.auth/login/google
使用fiddler捕获网络跟踪,如下所示:
然后,通过浏览器访问/.auth/me
端点,我可以按如下方式检索用户电子邮件:
此外,您可以关注Obtaining user profile information。此外,您可以访问https://www.googleapis.com/oauth2/v1/userinfo?access_token=<access_token>
手动检索用户个人资料。
此外,如果您要修改google OAuth Scopes(通过googleOAuthScopes
设置https://resources.azure.com
数组属性)或检索刷新令牌(access_type = offline),您可以遵循此类{{3} }。您可以关注issue以获取有关应用服务身份验证的更多详细信息。