我开始编写一个应用程序,移动应用程序(Android/IPhone)将通过一系列使用 JSON 的 Web API 调用与 GAE 后端(Python)进行通信。
我无法使用 Google 帐户进行身份验证,因此我需要实现自己的身份验证。我知道如何做到这一点,但我不确定是否有更好的方法。
任何人都可以提供一些关于如何实现以下目标的代码示例/建议吗?
方法
- 移动应用程序调用服务器上的登录方法,该方法验证并在商店中创建会话密钥并将其返回给应用程序 -不确定如何生成密钥/会话或它应该在请求/响应中的位置。
- 在每次调用时,应用程序都会将此密钥传递给服务器以进行身份验证,并在通过时允许该操作。
- 除非用户明确注销或丢失密钥,否则用户不必再次登录移动设备。
登录方法 - 无需生成密钥
class Login(webapp.RequestHandler):
def post(self):
args = json.loads(self.request.body)
email = args['e']
pwd = args['p']
ret = {}
user = User.gql('WHERE email = :1', email).get()
if user and helpers.check_password(pwd, user.password):
ret['ret_code'] = 0
ret['dn'] = user.display_name
else:
ret['ret_code'] = 1
self.response.headers['Content-Type'] = 'application/json'
self.response.out.write(json.dumps(ret))