https://github.com/surfstudio/thirdpartyauth
https://github.com/surfstudio/thirdpartyauth
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/surfstudio/thirdpartyauth
- Owner: surfstudio
- License: mit
- Created: 2023-04-21T14:12:25.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-06-23T12:40:27.000Z (over 2 years ago)
- Last Synced: 2025-01-25T22:57:48.937Z (9 months ago)
- Language: Swift
- Size: 24 MB
- Stars: 2
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# ThirdPartyAuth
[](https://github.com/surfstudio/ThirdPartyAuth/actions/workflows/main.yml)
[](https://github.com/apple/swift-package-manager)
[]()
## About
Library for quick register or login into your application using third party accounts. It has two main modules - **ThirdPartyAuth** and **ThirdPartyAuthUI**.
- **ThirdPartyAuth** module include components for auth / register user's in your app with their third party accounts. After getting response from this module you'll need to sent all necessary data to your backend-side and process them there.
- **ThirdPartyAuthUI** is a set of components that you can integrate into your app, if you don't need custom UI.
## Features
- [x] Sign In with Apple
- [x] Google Sign-In
- [x] VK ID## Prepare your app project
Before using this library you'll need to check, is your project matches all needed auth types requirements.
Detailed info you can find [here](TechDocs/PrepareProject.md).
## Installation
### Swift Package Manager
- Open your Xcode project and select `File > Add Packages...`
- Enter repository URL `https://github.com/AdmiralBizon/ThirdPartyAuth`
- Select branch `main`## Usage
### ThirdPartyAuth
This module has a single public interface - `ThirdPartyAuthService`, included all main operations.
Sign In:
```swift
ThirdPartyAuthService.sharedInstance.signIn(with: type)
```Sign Out:
```swift
ThirdPartyAuthService.sharedInstance.signOut(with: type) { isSignedOut in
// do something useful
}
```Here `type` parameter is one of `ThirdPartyAuthService` current configuration supported types. For example, `.google`.
Detailed usage info of this module you can find [here](TechDocs/Modules/ThirdPartyAuth.md).
### ThirdPartyAuthUI
It's a set of components that you can integrate into your app, if you don't need custom UI.
Library has two main UI-components:
- Title view of third party auth section
- Button container - main component of ThirdPartyAuthUI, included block with auth buttons of all needed auth typesDetailed usage info of this module you can find [here](TechDocs/Modules/ThirdPartyAuthUI.md).
Preview
![]()
![]()
## Changelog
The full list of changes can be found in [this file](./CHANGELOG.md).
## License
[MIT License](./LICENSE)