Git Product home page Git Product logo

Comments (2)

jeromegamez avatar jeromegamez commented on July 22, 2024

In theory it should work like this:

$result = $auth->linkProviderThroughAccessToken('twitter', $twitterAccessTokenString)`;
$userRecord = $result->userRecord;

$result = $auth->linkProviderThroughAccessToken('google', $googleAccessTokenString)`;
$userRecord = $result->userRecord;

When sent to the Firebase API, the access token will be parsed by them - if a matching user already exists (I don't know for sure how users would be matched), the credentials will be linked to the existing user. If no matching user exists, a new one will be created. Either way, you should receive a user record and consider the user signed in.

The method is poorly named and undocumented because I added it in a weak moment when someone needed it, but I'm not able to reliably test it, and it's a functionality that would better be implemented in the frontend of an application.

The flow that I would suggest in a web application would be to let the user sign in to Firebase in the browser (e.g. with https://firebase.google.com/docs/auth/web/firebaseui). There, you can get an ID token for the currently signed-in user as described in https://firebase.google.com/docs/auth/admin/verify-id-tokens#retrieve_id_tokens_on_clients

This ID token can then be sent to your Laravel App and be verified by the SDK with

$auth = app('firebase.auth');
$token = $auth->verifyIdToken($receivedIdTokenString);
$userRecord = $auth->getUser($token->getClaim('sub'));

from laravel-firebase.

zerubabbel avatar zerubabbel commented on July 22, 2024

Great, thanks so much.

from laravel-firebase.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.