Overview
Social authentication allows users to sign in to your app using their existing social media accounts. The Dynamic Swift SDK supports multiple providers including Google, Apple, and Farcaster.Prerequisites
1. Dynamic Dashboard Configuration
Before implementing social authentication, you must enable and configure the desired providers in your Dynamic dashboard:- Log in to Dynamic Dashboard
- Navigate to Log in and User Profile → Social
- Enable the providers you want to support
- Configure OAuth settings for each provider
2. Configure Deep Link URL
Register your app’s redirect URL in the Dynamic dashboard:- Go to Dynamic Dashboard
- Navigate to Security → Whitelist Mobile Deeplink
- Add your app’s deep link URL (e.g.,
yourapp://) - Save the configuration
3. Info.plist Configuration
Add the following to yourInfo.plist to ensure authentication callbacks work properly:
Implementation
Social Login with Providers
Use thesdk.auth.social.connect() method to authenticate with social providers:
Supported Providers
The SDK supports the following social providers:| Provider | Enum Value |
|---|---|
.google | |
| Apple | .apple |
| Farcaster | .farcaster |
Complete Social Authentication Example
Here’s a complete example showing how to implement social authentication in a SwiftUI view:Listening for Authentication State
After social authentication succeeds, use the Combine publisher to handle the authenticated user:Best Practices
1. Deep Link URL Management
- Use a consistent deep link URL format
- Ensure the URL is whitelisted in your Dynamic dashboard
- Test deep link handling in your app
- Make sure the
redirectUrlinClientPropsmatches your URL scheme
2. User Experience
- Show loading states during authentication
- Provide clear error messages
- Handle user cancellation gracefully
3. Security
- Never store sensitive authentication data
- Use secure network connections
- Implement proper session management
Troubleshooting
Callback Not Working
- Verify your app’s URL scheme is configured correctly in
Info.plist - Check that the
redirectUrlinClientPropsmatches your URL scheme - Ensure your deep link URL is whitelisted in Dynamic dashboard
Provider Not Working
- Confirm provider is enabled in Dynamic dashboard
- Check that OAuth settings are properly configured
- Verify you have the correct permissions/scopes configured
Authentication Fails
- Check network connectivity
- Verify provider credentials in Dynamic dashboard
- Ensure the user’s account with the provider is valid
- Check for any error messages in the console