You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Swift Firebase Twitter OAuth登录如何移除“继续前往应用”中间跳转页

可以移除这个多余的中间跳转页,核心思路是绕过Firebase内置的OAuth中转流程,直接通过X(原Twitter)官方原生SDK获取授权凭证,再提交给Firebase做登录校验即可,具体操作如下:

  • 首先在X开发者平台完成应用配置:登录X开发者后台,在你的项目下绑定对应iOS应用的Bundle ID、回调地址,确保已开启读取用户基本信息的相关权限。
  • 集成X官方iOS登录SDK,可以通过CocoaPods或Swift Package Manager完成集成,替代原有Firebase OAuthProvider的跳转逻辑。
  • 调整登录代码,示例如下:
import FirebaseAuth
import TwitterKit // 若使用新版X SDK替换为对应导入语句

private func performTwitterLogin(completion: @escaping (_ credential: AuthCredential?, _ error: String?, _ user: User?)->Void) {
    // 调用X原生登录接口获取授权令牌
    TWTRTwitter.sharedInstance().logIn { session, error in
        guard let session = session, error == nil else {
            return completion(nil, error?.localizedDescription, nil)
        }
        // 用X返回的令牌生成Firebase可识别的登录凭证
        let credential = TwitterAuthProvider.credential(
            withToken: session.authToken,
            secret: session.authTokenSecret
        )
        // 原有Firebase登录逻辑保持不变
        Auth.auth().signIn(with: credential) { result, error in
            guard error == nil else {
                return completion(nil, error?.localizedDescription, nil)
            }
            completion(result?.credential, nil, result?.user)
        }
    }
}
  • 额外说明:如果你不想引入额外的第三方SDK,也可以手动实现Twitter OAuth 1.0a的授权流程,拿到授权令牌和密钥后,同样用上述方法生成Firebase凭证完成登录,也可以跳过Firebase的中转页。

内容的提问来源于stack exchange,提问作者Gianluca Bettega

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 14:15:03