我们在网站和Spring社交库中使用google登录来实现oAuth2。获取accessToken,范围为userInfo.email后,我们尝试检索accountEmail。 spring-social-google(版本1.0.0)正在响应的emails属性中寻找关键的“帐户”。以下是来自spring-social-sources org.springframework.social.google.api.plus.Person.class
的代码块public String getAccountEmail() {
if (emails != null) {
for (Entry<String, String> entry : emails.entrySet()) {
if (entry.getValue().equals("account")) {
return entry.getKey();
}
}
}
return null;
}
从10月27日起,谷歌以电子邮件地图作为“ ACCOUNT”而不是“ account”进行回复
Expert from logs before 27th - getEmails :: {xxxxxxx@gmail.com=account}
Expert from logs after 27th - getEmails :: {xxxxxxx@gmail.com=ACCOUNT}
我找不到来自Google的有关更改或回复格式的任何文档。当我使用API Playground时,可以看到类型为“ ACCOUNT”。
"image": {
"url": "....photo.jpg",
"isDefault": true },
"etag": "xxx",
"id": "xxx",
"kind": "plus#person",
"emails": [
{
"type": "ACCOUNT",
"value": "xxxx@gmail.com"
}
]
}
我只是想检查是否还有其他人遇到此问题,或者是否有人从Google获得了文档,这说明了更改发生的原因。