2011-12-30 7 views
5

Io uso il modulo auth da webapp2 e voglio sapere come aggiungere un auth_id come 'facebook: fbuserid12121212' e aggiungerlo all'elenco di auth_id: s per un utente. Ma non vedo alcuna funzione dell'API che mi consenta di farlo. Potresti dirmi come si fa?Come aggiungere un auth_id con webapp2?

Grazie

+1

Potrebbe essere utile spostare l'aggiornamento/risposta a una risposta effettiva (in modo che la domanda non venga visualizzata come non risposta). Grazie per averlo risolto :) –

+1

@jgeewax Ho spostato la risposta alla sezione delle risposte. – allyourcode

risposta

2

Questa è la risposta che l'OP ha trovato. Sto copiando qui in modo che la questione non sarà senza risposta:

This was answered in the google group, la funzione che cercavo è user.auth_ids.append e il codice che uso ora di fare uso di esso è:

@user_required 
def post(self, **kwargs): 
    email = self.request.POST.get('email') 
    auser = self.auth.get_user_by_session() 
    userid = auser['user_id'] 
    user = auth_models.User.get_by_id(auser['user_id']) 
    existing_user = auth_models.User.get_by_auth_id(email) 

    if existing_user is not None: 
     # You need to handle duplicates. 
     # Maybe you merge the users? Maybe you return an error? 
     pass 

    # Test the uniqueness of the auth_id. We must do this to 
    # be consistent with User.user_create() 
    unique = '{0}.auth_id:{1}'.format(auth_models.__class__.__name__, email) 

    if auth_models.User.unique_model.create(unique): 
     # Append email to the auth_ids list 
     user.auth_ids.append(email) 
     user.put() 
     return "Email updated" 
    else: 
     return 'some error' 
+0

Che ne dici di recuperare auth_id per un utente? – deltanine