如何将Google OAuth2 SMTP应用设置为Public Client?
解决Google应用设置为Public Client的方法
Google OAuth2体系里,公开客户端(Public Client)和机密客户端(Confidential Client)是通过创建不同类型的OAuth客户端ID来区分的,没法直接修改现有Web应用类型的客户端为公开客户端,具体操作步骤如下:
- 打开Google Cloud控制台,进入你的目标项目
- 左侧导航栏选择「API和服务」→「凭据」
- 若你当前的客户端是Web应用类型(带Client Secret),可以选择删除它,或者直接创建新的客户端ID:
- 点击页面顶部的「创建凭据」→「OAuth客户端ID」
- 在应用类型选项里,选择**「桌面应用」**(如果是桌面/命令行程序),或者对应你场景的公开客户端类型(比如「Chrome 应用」等)
- 填写客户端名称后点击「创建」,生成的客户端ID将没有Client Secret,属于标准的Public Client
补充说明
- 如果你是做服务器端Web应用,Google强制要求用Confidential Client(带Secret),因为Web应用的Secret可以安全存储在服务器端;只有当你的应用是运行在用户本地(比如桌面APP、移动APP)这类无法安全保存Secret的场景,才适合用Public Client类型。
- 针对SMTP的OAuth2集成,使用桌面应用类型的Public Client ID完全兼容,不会影响XOAUTH2流程的正常运行。
内容的提问来源于stack exchange,提问作者Volker
相关产品推荐
相关产品推荐

