Как добавить auth_id с webapp2? - PullRequest
5 голосов
/ 30 декабря 2011

Я использую модуль auth из webapp2 и хочу знать, как добавить auth_id, например 'facebook: fbuserid12121212', и добавить его в список auth_id: s для пользователя. Но я не вижу функции от API, которая позволяет мне это делать. Подскажите, пожалуйста, как это сделать?

Спасибо

1 Ответ

2 голосов
/ 08 июля 2012

Это ответ, который нашел ОП.Я копирую его здесь, чтобы этот вопрос не остался без ответа:

Ответ на этот вопрос в группе Google , функция, которую я искал, - user.auth_ids.append и кодЯ использую сейчас, чтобы использовать это:

@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'
...