agentsclimarketplace

Social login

Skill launch52-ai/flutter-template/.claude/skills/social-login

Template for Flutter mobile applications.

Install
npx -y skills add launch52-ai/flutter-template --skill social-login

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Google Sign-In and Apple Sign-In with Supabase or custom backend. OAuth setup, platform config, PKCE/nonce security, sealed Failures, mock repository. Use when adding social login or troubleshooting OAuth.

SKILL.md

4.2 KB, 952 tokens by cl100k_base, as published. Nobody here has run it

Social Login - Google & Apple Sign-In

Google and Apple authentication with Supabase or custom backend.

When to Use This Skill

  • Adding social login to a project
  • Configuring OAuth providers (Google Cloud, Apple Developer)
  • Troubleshooting social auth issues
  • Adding SHA-1 fingerprints for Android

Reference Files

reference/
├── repositories/     # Domain interface, impl, mocks
├── failures/         # Sealed Failure types
├── providers/        # AuthNotifier social methods
├── utils/            # Nonce helpers, constants
├── widgets/          # Social login button
└── screens/          # OAuth callback (Android)

templates/            # Info.plist, AndroidManifest additions

See: implementation-guide.md for complete file list.

Workflow

Phase 1: Provider Setup

  1. Google Cloud Console - OAuth clients, SHA-1 (see google-guide.md)
  2. Apple Developer - App ID, Service ID, Key (see apple-guide.md)
  3. Supabase - Enable providers (see supabase-guide.md)

Phase 2: Platform Config

  1. iOS: Add URL schemes to Info.plist, add Sign in with Apple capability
  2. Android: Add deep link intent filter to AndroidManifest.xml

Phase 3: Implementation

  1. Copy reference files to project
  2. Add methods to existing AuthRepositoryImpl
  3. Add provider methods to AuthNotifier
  4. Add OAuth callback route
  5. Run /i18n for strings

Core API

// Google Sign-In
final result = await repository.signInWithGoogle();

// Apple Sign-In
final result = await repository.signInWithApple();

// Result contains: userId, email?, displayName?, isNewUser

Failure Types

TypeWhenUI Action
GoogleSignInCancelledFailureUser dismissedSilent
GoogleSignInFailedFailureSDK errorError + retry
AppleSignInCancelledFailureUser dismissedSilent
AppleSignInFailedFailureSDK errorError + retry
TokenValidationFailureInvalid tokenError + retry
SocialAuthNetworkFailureConnectionRetry button

Cancellation is NOT an error - handle silently.

Platform Flows

ProvideriOSAndroid
GoogleNative SDKNative SDK
AppleNative SDKOAuth Browser

SHA-1 Fingerprints

cd android && ./gradlew signingReport

Add to Google Cloud Console: debug, release, Play Store SHA-1.

Guides

FileContent
google-guide.mdGoogle Cloud Console setup
apple-guide.mdApple Developer setup
supabase-guide.mdSupabase provider config
implementation-guide.mdStep-by-step code
checklist.mdVerification checklist

Common Issues

ErrorCauseSolution
DEVELOPER_ERRORSHA-1 mismatchAdd correct SHA-1
No idTokenMissing serverClientIdSet GOOGLE_WEB_CLIENT_ID
invalid_clientApple config wrongCheck Supabase Apple config
No callback (Android)Deep link wrongVerify AndroidManifest

Checklist

  • Google Cloud Console: OAuth client IDs created (iOS, Android, Web)
  • Android: All SHA-1 fingerprints added (debug, release, Play Store)
  • Apple Developer: App ID with Sign in with Apple enabled
  • Apple Developer: Service ID configured (for Android OAuth flow)
  • Supabase: Google and Apple providers enabled with credentials
  • iOS: URL schemes added to Info.plist
  • iOS: Sign in with Apple capability added
  • Android: Deep link intent filter in AndroidManifest.xml
  • OAuth callback route added to router
  • Cancellation handled silently (not shown as error)
  • build_runner executed successfully

Related Skills

  • /phone-auth - Can combine with social login
  • /i18n - Localized strings
  • /release - iOS capabilities, Android signing
  • /testing - Test social login flows

What ships with it: 20 files

81.9 KB alongside SKILL.md

Keep looking

Skills are one crate of 327,069. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.