1

Mon ionique app a différentes façons de authentifications, comprend Google, LinkedIn, en ce moment firebase ne supporte pas linkedIn hors de la boîte, mais il semble qu'il y ait un moyen d'utiliser l'authentification personnalisée et en utilisant firebase.auth().signInWithCustomToken,Comment implémenter LinkedIn avec Firebase?

peut une donnez-moi quelques instructions 1,2,3,4 à ce sujet?

Répondre

0

Cette question semble intéressante. Je fais aussi des recherches. Je fournis des liens utiles.

https://jwt.io/ - vous pouvez trouver des bibliothèques tierces JWT pour Android ici. Parce que Firebase utilise l'authentification basée sur les JWT (Web Web Tokens).

https://firebase.google.com/docs/auth/admin/verify-id-tokens#verify_id_tokens_using_a_third-party_jwt_library

Nous ne pouvons pas créer des jetons personnalisés dans Firebase Administrateur SDK. Mais nous pouvons créer des jetons personnalisés à partir du serveur Firebase Authenticating. L'explication est ici: h ttps://firebase.google.com/docs/auth/admin/create-custom-tokens

String uid = "some-uid"; 
HashMap<String, Object> additionalClaims = new HashMap<String, Object>(); 
additionalClaims.put("premiumAccount", true); 

FirebaseAuth.getInstance().createCustomToken(uid, additionalClaims) 
    .addOnSuccessListener(new OnSuccessListener<String>() { 
     @Override 
     public void onSuccess(String customToken) { 
      // Send token back to client 
/* Here, you get the custom token. You can simply store this token in String variable, and later pass as customToken */ 
     } 
    }); 

Ce lien "https://github.com/jwtk/jjwt" fournit des API pour créer des jetons personnalisés JWT. Après avoir créé des jetons personnalisés, vous pouvez utiliser

FirebaseAuth.getInstance().signInWithCustomToken(mCustomToken) 
     .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() { 
      @Override 
      public void onComplete(@NonNull Task<AuthResult> task) { 
       if (task.isSuccessful()) { 
        // Sign in success, update UI with the signed-in user's information 
        Log.d(TAG, "signInWithCustomToken:success"); 
        FirebaseUser user = mAuth.getCurrentUser(); 
        updateUI(user); 
       } else { 
        // If sign in fails, display a message to the user. 
        Log.w(TAG, "signInWithCustomToken:failure", task.getException()); 
        Toast.makeText(CustomAuthActivity.this, "Authentication failed.", 
          Toast.LENGTH_SHORT).show(); 
        updateUI(null); 
       } 
      } 
     }); 

Note: Je ne l'ai pas mis en œuvre auparavant. Je suis une des personnes très intéressées à mettre en œuvre ceci. Je vais suivre votre réponse lorsque vous résolvez cela complètement.