Home > Net >  Flutter and Supabase - OAuth deep link not working
Flutter and Supabase - OAuth deep link not working

Time:12-28

I have set up OAuth with my Flutter app and Supabase. It works on the web... I sign in to the provider and I'm redirected to my website with the credential. However, in iOS, it does not work. I sign in to the provider and am still redirected to the website instead of the app. I added CFBundleURLSchemes to the Info.plist and associated domains, but that did not work. This is the function I use, which is what the Supabase example shows:

Supabase.auth.signInWithOAuth(
  pkg.Provider.apple,
  redirectTo: kIsWeb ? null : '<Bundle url>://login-callback/',
);
    <key>CFBundleURLTypes</key>
    <array>
      <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLSchemes</key>
        <array>
          <string>*bundle id*</string>
          <string>domain.com</string>
        </array>
      </dict>
    </array>

CodePudding user response:

Did you add the scheme you used in the info.plist file? which is needed for the os to know to open URL with that scheme in this app. Which is as follows:

<key>CFBundleURLTypes</key>
<array>
    <dict>
        <key>CFBundleTypeRole</key>
        <string>Editor</string>
        <key>CFBundleURLSchemes</key>
        <array>
            <string>YourSchemeHere</string>
        </array>
    </dict>
</array>

and this is the official doc about that

CodePudding user response:

I found the issue. In a separate guide for Supabase, it mentions needing to add '<Bundle url>://login-callback/' as a redirect_url on the server itself. With self-hosting, this shows up as ADDITIONAL_REDIRECTURLS in .env.

  • Related