Adding Support for more 3rd Party Authentication SDK's #55
Labels
bounty:$50
Bounty applies for fixing this issue (Parse Bounty Program)
type:feature
New feature or improvement of existing feature
New Feature / Enhancement Checklist
Current Limitation
Parse-Swift currently supports Anonymous authentication (ParseAnonymous) and Apple authentication (see all adapters below).
Microsoft Graph, Instagram, and any Parse Server supported authentication method do work, but they currently don't have helper methods to connect to them as easily as using
ParseApple
.Populating
authData
directly requires knowing the correct key/values for the respective adapter and can quickly lead to mistakes in code during login, linking, etc.Feature / Enhancement Description
To make the process simpler, developers can easily add support for additional 3rd party authentication methods by using ParseGoogle as a template.
Example Use Case
We are encouraging developers to open PR's (see the contributors guide) to add missing authentication methods by following the process below:
ParseNAME.swift
, for exampleParseFacebook
.Google
->Name
, b) Find/replacegoogle
->name
AuthenticationKeys
in the file.Google
->Name
, b) Find/replacegoogle
->name
Note that the dependency of the the respective framework, i.e.
import FBSDKCoreKit
shouldn't be part of the PR as Parse-Swift is dependency free. Instead the implementation should just ensure the necessaryAuthenticationKeys
are captured to properly authenticate the respective framework with a Parse Server. The developer using the respective authentication method is responsible for adding any dependencies for their app. This lets the developer manage and use any version of any authentication SDK's they want, they simply need to specify the required keys that the Parse Server requires.If you need help, feel free to ask questions here or in your added PR.
Potential adapters (checked one’s are already implemented in Parse-Swift):
Alternatives / Workarounds
To authenticate without helper methods, you can use the following available on any
ParseUser
:Parse-Swift/Sources/ParseSwift/Authentication/Protocols/ParseAuthentication.swift
Lines 155 to 301 in 86d4eb7
and here:
Parse-Swift/Sources/ParseSwift/Authentication/Protocols/ParseAuthentication+combine.swift
Lines 36 to 94 in fb61b78
3rd Party References
The text was updated successfully, but these errors were encountered: