JSON を使用した一連の Web API 呼び出しを通じて、モバイル アプリ (Android/IPhone) が GAE バックエンド (Python) と通信するアプリの作成を開始しています。
認証に Google アカウントを使用できないため、独自の認証を実装する必要があります。これを行う方法についてはアイデアがありますが、より良い方法があるかどうかはわかりません。
以下を達成する方法のいくつかのコード例/提案を手伝ってくれる人はいますか?
方法
- モバイル アプリは、ストアでセッション キーを認証して作成し、これをアプリに返すサーバーで Login メソッドを呼び出します。キー/セッションの生成方法や、要求/応答のどこにあるべきかわかりません。
- すべての呼び出しで、アプリはサーバーが認証するためにこのキーを渡し、合格した場合はアクションを許可します。
- 明示的にログアウトするかキーを紛失しない限り、ユーザーはモバイルで再度ログインする必要はありません。
ログイン方法 - キー生成なし
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))