根据移动应用程序Googledocumentation,有一个名为
redirect_uri
的参数我不清楚。例如,在Google OAuth2的Web App流程中,流程是前端、后端和Google服务器之间的一些通信。事实上,后端准备了两个端点,一个用于重定向到 google auth 页面,该页面将由前端调用,另一个端点是 /oauth2callback
,它将由 google 服务器作为 redirect_uri
调用。
我的问题是,移动应用程序流程中的
redirect_uri
是什么?与我的后端一样吗/oath2callback
或者移动应用程序流程不需要任何后端部分?
[注意]:
实际上,我将从移动端接收凭证内容,包括 access_token、refresh_token 等,并将其存储到后端并将其存储到数据库中,并用它来调用服务器端的 google API。
[更新]
这是我实现的流程:
重定向uri实际上并没有区分是后端还是前端。
当您在 Google 中创建 authz 凭据时,您应该定义重定向方法和 uri 本身。这是谷歌从您链接的文档中建议的类型:
自定义 URI 方案(Android、iOS、UWP) 建议为 Android 应用程序、iOS 应用程序和通用 Windows 平台 (UWP) 应用程序使用自定义 URI 方案。
uri 方案告诉操作系统,当它看到匹配的 url 时,打开特定的应用程序(而不是浏览器)。
显然,如果您使用手机的网络浏览器进行流程,则无需担心自定义方案。这甚至是 native apps rfc 中的首选方法。
我认为你想要实现的目标可以通过以下方式完成:
在移动应用程序上实现授权请求,并以重定向回您的应用程序的方式设置redirect_uri,即:使用您的应用程序声明该url。当您在应用程序中获取身份验证代码时,将该身份验证代码发送到后端,然后从后端执行令牌请求。这样,您将在后端拥有所有令牌。
流程是:
你能告诉我我需要什么 OAuth 2.0 客户端 ID 类型吗? android/ios 应用程序或网络应用程序或两者。我需要在哪里使用redirect_uri?在 android/ios 应用程序或网络应用程序中?