我如何设计 google OAuth2 工作流程

How do I design google OAuth2 workflow

我有一个后端 (Spring) 和一个前端 Flutter 应用程序。我想实施 OAuth2 流程。执行此操作的正确方法是什么。我要实施的第一个服务是 google,但我想保持它的通用性,这样我就可以实施其他服务,例如 Microsoft。

我尝试了一个由服务器完成身份验证的工作流程(应用程序请求 oauth 登录到服务器 -> 使用 clientIds 等重定向 -> 客户端身份验证 -> 重定向到服务器并验证 -> 将登录信息返回给客户端) 这是正确的方法吗?例如。 Google 不希望您使用内置的应用程序 webView 小部件...

我还尝试了一种拆分方式,即对 google OAuth 服务器的第一个请求是在应用程序中完成的,该应用程序获取 authCode 并且服务器请求必要的信息。但这对我不起作用。我每次都会收到不同的错误类型。

我真的卡在这上面很久了,没有找到通用的解决方案...

好的,我发现,最好和推荐的方法也是在后端使用 GoogleTokenVerifier 来验证和检查 oauth 请求的 accessToken。微软的推荐方式是一样的:

https://docs.microsoft.com/de-de/azure/active-directory/develop/access-tokens#validating-tokens

https://www.youtube.com/watch?v=j_31hJtWjlw