Flutter 应用程序 iOS 谷歌登录未在后端验证

问题描述 投票:0回答:1

我正在为 iOS 和 Android 应用程序实现 flutter 应用程序。我已经使用 firebaseconsole 设置了 google 登录功能。到目前为止一切顺利,它在应用程序端完美地完成了登录。但我想在服务器端验证该令牌。我正在使用 spring boot,其中应用程序在 google 登录后作为 API 调用向我发送令牌。这就是我遇到问题的地方。 Spring Boot应用程序能够很好地验证来自浏览器的令牌,但不能验证来自应用程序的令牌。可能是什么问题?

到目前为止我看到的主要区别是配置。 Firebase 控制台配置使用不同的 google 客户端 idsecret 进行浏览器登录和应用程序登录。但它们是在同一个控制台中管理的。这会是问题吗?

这是我在 flutter 中使用 google 登录的方式:

_googleSignIn.signIn().then((result){
result?.authentication.then((googleKey){
print(googleKey.accessToken);
print(googleKey.idToken);
**// This is where I am calling the login verification process sending googleKey.idToken**
print(_googleSignIn.currentUser?.displayName);
}).catchError((err){
print('inner error');
});
}).catchError((err){
print('error occured');
});
ios flutter spring-boot
1个回答
0
投票

在此添加此解决方案供任何人将来参考。

可以通过向 url 发出 get 请求来验证令牌:

https://oauth2.googleapis.com/tokeninfo?id_token={token_value}

{token_value}
替换为实际值。 如果令牌有效,您将获得 200(OK)状态,其中包含名称、电子邮件等 json 对象。

© www.soinside.com 2019 - 2024. All rights reserved.