Authing DocsDocuments
Concept
workflow
Guides
Development Integration
Application integration
Concept
workflow
Guides
Development Integration
Application integration
Old Version
Development Integration
  • Single Sign-On (SSO)
  • Login component

  • JavaScript/Node.js

  • Java / Kotlin

  • Python

  • C#

  • PHP

  • Go

  • Ruby
  • Android

  • iOS

    • Quick start
    • Auth Flow
    • APIs

    • Third-party identity source

      • Wechat
      • Apple
      • Google
      • Facebook
      • Wechat Miniprogram
      • Tencent
      • Sina Weibo
      • Baidu
      • LinkedIn
      • Github
      • Gitee
      • GitLab
      • Xiaomi
      • WeCom
      • Lark
      • DingTalk
      • Line
      • Slack
    • Typical scene

    • On-premise
    • WebAuthn
    • Error Code List
  • Flutter

  • React Native
  • WeChat Mini Program
  • WeChat webpage authorization
  • Framework Integration
  • Error code
  1. Development Integration
  2. /
  3. iOS
  4. /
  5. Third-party identity source
  6. /
  7. Google

¶ Google account login

Update Time: 2025-05-14 08:32:28
Edit

¶ Preparation

Configure in Google API Console Credentials Console (opens new window) and Authing Management Console (opens new window).

¶ Integrate Google login steps

¶ Step 1: Add Google Login Component Dependency

  1. Enter: https://github.com/Authing/authing-binary in the swift package search bar.

  2. Select Authing-binary (opens new window).

Authing-binary (opens new window) depends on Guard-iOS SDK (opens new window).

  1. Select Up to Next Major Version 1.0.0 for the dependency rule.

  2. Click Add Package and check Google.


¶ Step 2: Modify project configuration

Configure the Google Login component bounce URL:

  1. Select the Xcode project, click the plus sign in Targets -> Info -> URL Types.
  2. URL Schemes Add iOS URL scheme of Google console.

iOS URL schemes

Add URL Types


¶ Step 3: Initialize Google components

  1. Add import Guard and import Google to AppDelegate or SceneDelegate.

  2. Call Authing.start() to initialize Guard SDK.

  3. Google.register needs to pass in the clientID and serverClientId issued by the Google console.

clientID is the ClientID of the Google Console iOS app, serverClientId is the ClientID of the Google Console web application.

import Guard
import Google

Authing.start(<#AUTHING_APP_ID#>)
Google.register(clientID: <#iOS ClientId#>, serverClientId: <#Oauth Web ClientId#>)

¶ Step 4: Add callbacks

After successfully logging in and returning to the application, if SceneDelegate is used, the following functions need to be overloaded in SceneDelegate.swift:

func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
     if let url = URLContexts.first?.url {
         _ = Google. handleURL(url: url)
     }
}

If SceneDelegate is not used, the following functions need to be overloaded in AppDelegate.

func application(_ app: UIApplication, open url: URL, options: [UIApplication. OpenURLOptionsKey : Any] = [:]) -> Bool {
    return Google. handleURL(url: url)
}

¶ Step 5: Initiate Google Authorization

The Google Sign-in component provides three authorization methods:

  • The developer calls the one-click login API when login is required:
Google.login(viewController: <#ViewController that hosts the view#>) { code, message, userInfo in
     if (code == 200) {
         // userInfo: user information
     }
}

  • With the semantic Hyper Component we provide, you only need to place one in the xib:
GoogleSignInButton

Set Module to Google, click GoogleSignInButton after Build success to log in.


  • If you want to access the entire process of Google authorization yourself, after getting the authorization code, you can call the following API in exchange for Authing user information:
func loginByGoogle(_ code: String, completion: @escaping(Int, String?, UserInfo?) -> Void)

parameter

authCode Google authorization code

example

AuthClient().loginByGoogle(authCode) { code, message, userInfo in
     if (code == 200) {
         // userInfo: user information
     }
}
Prev: Apple Next: Facebook
  • Preparation
  • Integrate Google login steps

User identity management

Integrated third-party login
Mobile phone number flash check (opens new window)
Universal login form component
Custom authentication process

Enterprise internal management

Single Sign On
Multi-factor Authentication
Authority Management

Developers

Development Document
Framework Integration
Blog (opens new window)
GitHub (opens new window)
Community User Center (opens new window)

Company

400 888 2106
sales@authing.cn
16 / F, Block B, NORTH STAR CENTURY CENTER, Beijing(Total)
room 406, 4th floor, zone B, building 1, No. 200, Tianfu Fifth Street, Chengdu(branch)

Beijing ICP No.19051205-1

© Beijing Steamory Technology Co.