OAuth Helper
Automate OAuth login with Telegram confirmation. Supports 7 major providers.
Supported Providers
| Provider | Status | Detection Domain |
|---|
| Google | ✅ | accounts.google.com |
| Apple |
✅ | appleid.apple.com |
| Microsoft | ✅ | login.microsoftonline.com, login.live.com |
| GitHub | ✅ | github.com/login/oauth |
| Discord | ✅ | discord.com/oauth2 |
| WeChat | ✅ | open.weixin.qq.com |
| QQ | ✅ | graph.qq.com |
Prerequisites
- 1. Clawd browser logged into the OAuth providers (one-time setup)
- Telegram channel configured
Core Workflow
Flow A: Login Page with Multiple OAuth Options
When user requests to login to a website:
CODEBLOCK0
Flow B: OAuth Authorization Page
When on an OAuth provider's page:
CODEBLOCK1
Detection Patterns
Google
CODEBLOCK2
Apple
CODEBLOCK3
Microsoft
CODEBLOCK4
GitHub
CODEBLOCK5
Discord
CODEBLOCK6
WeChat
CODEBLOCK7
QQ
CODEBLOCK8
Click Sequences by Provider
Google
CODEBLOCK9
Apple
CODEBLOCK10
Microsoft
CODEBLOCK11
GitHub
CODEBLOCK12
Discord
CODEBLOCK13
WeChat
CODEBLOCK14
QQ
CODEBLOCK15
OAuth Button Detection
Scan login pages for these selectors:
| Provider | Selectors | Common Text |
|---|
| Google | INLINECODE0 , INLINECODE1 | "Continue with Google" |
| Apple |
[data-provider="apple"],
.apple-btn | "Sign in with Apple" |
| Microsoft |
[data-provider="microsoft"] | "Sign in with Microsoft" |
| GitHub |
[data-provider="github"] | "Continue with GitHub" |
| Discord |
[data-provider="discord"] | "Login with Discord" |
| WeChat |
.wechat-btn,
img[src*="wechat"] | "WeChat Login" |
| QQ |
.qq-btn,
img[src*="qq"] | "QQ Login" |
One-Time Setup
Login to each provider in clawd browser:
CODEBLOCK16
Error Handling
- - No "yes" reply → Cancel and notify user
- 2FA required → Prompt user to enter code manually
- QR timeout → Re-screenshot new QR code
- Login failed → Screenshot and send to user for debugging
Usage Example
CODEBLOCK17
Version History
- - v1.0.0 - Initial release with 7 OAuth providers
OAuth 助手
通过Telegram确认自动完成OAuth登录。支持7大主流服务商。
支持的服务商
| 服务商 | 状态 | 检测域名 |
|---|
| Google | ✅ | accounts.google.com |
| Apple |
✅ | appleid.apple.com |
| Microsoft | ✅ | login.microsoftonline.com, login.live.com |
| GitHub | ✅ | github.com/login/oauth |
| Discord | ✅ | discord.com/oauth2 |
| 微信 | ✅ | open.weixin.qq.com |
| QQ | ✅ | graph.qq.com |
前置条件
- 1. 在Clawd浏览器中登录OAuth服务商(一次性设置)
- 配置Telegram频道
核心工作流程
流程A:包含多个OAuth选项的登录页面
当用户请求登录网站时:
- 1. 打开网站登录页面
- 扫描页面中可用的OAuth按钮
- 发送Telegram消息:
🔐 [网站] 支持以下登录方式:
1️⃣ Google
2️⃣ Apple
3️⃣ GitHub
回复数字选择
- 4. 等待用户回复(60秒超时)
- 点击选中的OAuth按钮
- 进入流程B
流程B:OAuth授权页面
当进入OAuth服务商页面时:
- 1. 检测OAuth页面类型(通过URL)
- 提取目标网站信息
- 发送Telegram消息:🔐 [网站] 请求[服务商]登录。确认?回复yes
- 等待yes回复(60秒超时)
- 执行服务商特定的点击序列
- 等待重定向回原始网站
- 发送:✅ 登录成功!
检测模式
Google
URL模式:
- - accounts.google.com/o/oauth2
- accounts.google.com/signin/oauth
- accounts.google.com/v3/signin
Apple
URL模式:
- - appleid.apple.com/auth/authorize
- appleid.apple.com/auth/oauth2
Microsoft
URL模式:
- - login.microsoftonline.com/common/oauth2
- login.microsoftonline.com/consumers
- login.live.com/oauth20
GitHub
URL模式:
- - github.com/login/oauth/authorize
- github.com/login
- github.com/sessions/two-factor
Discord
URL模式:
- - discord.com/oauth2/authorize
- discord.com/login
- discord.com/api/oauth2
微信
URL模式:
- - open.weixin.qq.com/connect/qrconnect
- open.weixin.qq.com/connect/oauth2
QQ
URL模式:
- - graph.qq.com/oauth2.0/authorize
- ssl.xui.ptlogin2.qq.com
- ui.ptlogin2.qq.com
各服务商点击序列
Google
账户选择器:[data-identifier], .JDAKTe
授权按钮:button:has-text(Allow), button:has-text(Continue)
Apple
邮箱输入框:input[type=email], #accountnametext_field
密码输入框:input[type=password], #passwordtextfield
继续按钮:button#sign-in, button:has-text(Continue)
信任设备:button:has-text(Trust)
Microsoft
账户选择器:.table-row[data-test-id]
邮箱输入框:input[name=loginfmt]
密码输入框:input[name=passwd]
下一步按钮:button#idSIButton9
接受按钮:button#idBtn_Accept
GitHub
邮箱输入框:input#login_field
密码输入框:input#password
登录按钮:input[type=submit]
授权按钮:button[name=authorize]
双因素认证:input#app_totp
Discord
邮箱输入框:input[name=email]
密码输入框:input[name=password]
登录按钮:button[type=submit]
授权按钮:button:has-text(Authorize)
微信
方式:二维码扫描
- - 将二维码截图发送给用户
- 等待手机扫码确认
- 检测页面重定向
QQ
方式:二维码或密码登录
二维码:截图发送给用户
密码模式:
- 切换:a:has-text(密码登录)
- 账号:input#u
- 密码:input#p
- 登录:input#login_button
OAuth按钮检测
扫描登录页面的以下选择器:
| 服务商 | 选择器 | 常见文本 |
|---|
| Google | [data-provider=google], .google-btn | Continue with Google |
| Apple |
[data-provider=apple], .apple-btn | Sign in with Apple |
| Microsoft | [data-provider=microsoft] | Sign in with Microsoft |
| GitHub | [data-provider=github] | Continue with GitHub |
| Discord | [data-provider=discord] | Login with Discord |
| 微信 | .wechat-btn, img[src*=wechat] | WeChat Login |
| QQ | .qq-btn, img[src*=qq] | QQ Login |
一次性设置
在Clawd浏览器中登录每个服务商:
bash
Google
browser action=navigate profile=clawd url=https://accounts.google.com
Apple
browser action=navigate profile=clawd url=https://appleid.apple.com
Microsoft
browser action=navigate profile=clawd url=https://login.live.com
GitHub
browser action=navigate profile=clawd url=https://github.com/login
Discord
browser action=navigate profile=clawd url=https://discord.com/login
微信/QQ - 使用二维码扫描,无需预登录
错误处理
- - 未收到yes回复 → 取消并通知用户
- 需要双因素认证 → 提示用户手动输入验证码
- 二维码超时 → 重新截图新的二维码
- 登录失败 → 截图并发送给用户进行调试
使用示例
用户:帮我登录Kaggle
代理:
- 1. 导航到kaggle.com/account/login
- 检测Google/Facebook/Yahoo选项
- 发送:🔐 Kaggle支持:
1️⃣ Google
2️⃣ Facebook
3️⃣ Yahoo
回复数字选择
- 4. 用户回复:1
- 点击Google登录
- 检测Google OAuth页面
- 发送:🔐 Kaggle请求Google登录。确认?回复yes
- 用户回复:yes
- 选择账户,点击继续
- 发送:✅ 已登录Kaggle!
版本历史
- - v1.0.0 - 初始版本,支持7个OAuth服务商