SuperAPI AI 工具集

goth-providers

安全与审计

查看项目

更新于 10-15 21:47

技能介绍

用途:为使用 github.com/markbates/goth 的 Go 应用提供 OAuth 提供商配置指导,重点覆盖 Google 与 Microsoft(Azure AD),其模式可推广到 goth 支持的 70+ 提供商。

主要能力:讲解在应用启动时通过 goth.UseProviders() 注册提供商;说明通用构造函数 provider.New(clientID, clientSecret, callbackURL, scopes...) 的用法;给出 Google 与 azureadv2 的代码配置示例;介绍回调地址需与开发者控制台注册完全一致、可访问并能处理回调;列出 openid、email、profile 等通用作用域及 Google、Microsoft 的特定作用域;说明 Azure AD 的租户选项(CommonTenant、OrganizationsTenant、ConsumersTenant 或具体租户 ID);演示多提供商登录、运行时获取提供商列表与自定义提供商名称;给出环境变量组织方式与常见错误(redirect_uri_mismatch、invalid_client、access_denied)的排查思路。

使用方式:在 init() 中调用 goth.UseProviders() 注册;用 gothic.CompleteUserAuth(w, r) 获取用户信息(Email、Name、AvatarURL、AccessToken、IDToken 等);通过 goth.GetProviders() 列出已注册提供商,goth.GetProvider("google") 获取指定提供商;可用 gothic.GetProviderName 自定义从 URL 提取提供商名。

适用场景:Go Web 应用需要接入 Google 登录、Microsoft/Azure AD 登录或多提供商登录时。

限制:资料未提供具体收费、价格、平台支持范围或效果数据;示例中的回调地址、环境变量与租户配置需按实际部署调整。