GoogleSignInSwift
GoogleSignInSwift
使用 OAuth 2.0 来获取用户的 Google 身份验证凭据以及他们的配置文件信息。 GoogleSignInSwift
完全使用 Swift 写成。您可以在这里找到有关 Google OAuth 2.0 登录协议的更多信息。
安装
GoogleSignInSwift
通过 CocoaPods 提供。要安装它,只需将以下行添加到 Podfile 中。
pod 'GoogleSignInSwift'
使用
设置
向 GoogleSignIn
提供您的应用的 Google API 客户端 ID 以及任何 Google API 范围。
GoogleSignIn.shared.clientId = "<Google API Client ID>"
GoogleSignIn.shared.addScope("<Google API Scope>")
登录
GoogleSignIn.shared.delegate = self
GoogleSignIn.shared.presentingWindow = view.window
GoogleSignIn.shared.signIn()
通过实现GoogleSignInDelegate
来监听完成
func googleSignIn(didSignIn auth: GoogleSignIn.Auth?, user: GoogleSignIn.User?, error: Error?) {
if let error = error {
print("Error signing in: \(error)")
return
}
// Route user to app
}
使用访问令牌
虽然您可以通过 GoogleSignIn.shared.auth?.accessToken
访问令牌,但建议您使用 GoogleSignIn.shared.refreshingAccessToken
。如果令牌已过期,此方法将刷新并返回新的有效令牌。
GoogleSignIn.shared.refreshingAccessToken { token, _ in
guard token != nil else {
return
}
// Use token
}
登出
GoogleSignIn.shared.signOut()
获取配置文件
GoogleSignIn.shared.getProfile { user, error in
//
}
注意:在用户登录时默认为您完成一次。
使用登录获取用户电子邮件
要获取用户电子邮件,确保在登录前设置此功能。
GoogleSignIn.shared.email = true
您还可以禁用profile
(默认true
)
身份验证状态
GoogleSignIn.shared.isSignedIn
示例
要运行示例项目,首先克隆仓库,然后从示例目录运行 pod install
。
作者
许可
GoogleSignInSwift遵循MIT许可。有关更多信息,请参阅LICENSE文件。