2017-04-07 2 views
0

私たちは、小売業者が顧客の携帯電話を充電できるアンドロイドアプリを持っています。そのため、すべての充電請求を承認する必要があります。アンドロイドアプリとASP.net Web APIの間の状態を管理するには?

再充電要求を送信する小売業者は充電に関する情報とユーザーIDとユーザーキーでAPIを押す必要があります。

[AcceptVerbs("GET")] 
    public IHttpActionResult Prepaid(int pUserID = -1, string pKey = "", string pCustomerNo = "", decimal pAmount = 1, int pServiceProviderId = -1, int pDeviceTypeId = -1) 

以下のように我々は、すべてのAPIのユーザーを認証DB

に格納されているパスワードと比較USERKEY(encrypetedパスワード)を打つそのB2Bアプリをこれはあまりにも多くのDB呼び出しを行い、当社のサーバーが遅い

を取得し、小売業者は、取引履歴、クレジットリクエスト、ちょうど再充電以外の本の苦情のような異なる種類の行動を実行する

ユーザーがAndroidアプリにログインした後で状態を維持する方法

答えて

0

まあ、設計通りのRESTはステートレスです。セッション(またはその種のもの)を追加することで、ステートフルになり、RESTful APIを持つ目的を破ります。

私は次のような方法で使用している認証と承認を達成するには、次のユーザーは、私たちを許可されている場合はアンドロイド、ユーザーからユーザーのポスト要求はHTTP認証ヘッダーで彼のユーザーIDとパスワードを送信している間

を、サーバー側で、我々はパスワードを確認し、ユーザーリクエストを処理します。

apiはステートレスなので、アンドロイドとウェブAPIの間に状態を維持する必要はありません。

0

ユーザーキーがすべてのユーザーまたは固有のモバイル番号ごとに固有のIDである場合は、ユーザーがOTPを送信して再充電するために使用している携帯電話番号を確認する方が良いと思います。ユーザは認証のためにそのOTPを送り返すことができます。 これはログイン時にのみ行い、生成した独自のユーザーキーをShared preferenceストレージに保存します。

+0

そのb2bアプリはb2cではありません。小売業者は、取引履歴、クレジットリクエスト、再請求以外の本の苦情のような異なる種類の行動を実行する – Luqman

+0

充電などのために毎回ユーザーを認証する必要はありません。ログイン時にユーザーを認証し、 "user_key"を後で使用するために共有設定に保存するだけです。 –

関連する問題