我使用来自 webapp2 的 auth 模块,我想知道如何添加一个像 'facebook:fbuserid12121212' 这样的 auth_id 并将其添加到用户的 auth_id:s 列表中。但我从 API 中看不到允许我这样做的功能。你能告诉我怎么做吗?
谢谢
我使用来自 webapp2 的 auth 模块,我想知道如何添加一个像 'facebook:fbuserid12121212' 这样的 auth_id 并将其添加到用户的 auth_id:s 列表中。但我从 API 中看不到允许我这样做的功能。你能告诉我怎么做吗?
谢谢
这是OP找到的答案。我在这里复制它,以便不会回答这个问题:
这在 google group 中得到了回答,我正在寻找的功能是 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'