web-dev-qa-db-ja.com

REST APIを使用してネイティブモバイルアプリを認証します

新しいプロジェクトを間もなく開始します。これは、すべての主要なモバイルプラットフォーム(iOS、Android、Windows)のモバイルアプリケーションを対象としています。これは、クライアントサーバーアーキテクチャになります。

アプリは情報提供とトランザクションの両方です。トランザクションの部分では、トランザクションを行う前に、アカウントを持ち、ログインする必要があります。私はモバイル開発が初めてなので、これらのプラットフォームで認証部分がどのように実行されるのかわかりません。クライアントはREST APIを介してサーバーと通信します。もちろんHTTPSを使用します。

ユーザーがアプリを開いたときにログインするか、トランザクションを実行したときにだけログインするかはまだ決定していません。

次の質問がありました。

1)Facebookアプリケーションと同様に、アプリケーションを初めて開いたときにのみ資格情報を入力します。その後は、アプリを開くたびに自動的にサインインします。どうすればこれを達成できますか?資格情報を暗号化してデバイスに保存し、アプリが起動するたびに送信するだけです。

2)REST APIに対して行われる(トランザクション)リクエストごとにユーザーを認証する必要がありますか、それともトークンベースのアプローチを使用する必要がありますか?

他の認証方法をご提案ください。

ありがとう!

16
Supercell

ユーザー名/パスワードをRESTful APIのログインメソッドに渡すと、アクセストークンが返されます。そのアクセストークンは、(システムの)一意の文字列です。

アクセストークンを保持するデバイスストア(持続)。 RESTfulリクエストをサーバーに送信するたびに、そのアクセストークンをHTTPリクエストのヘッダーに入れます。サーバーはアクセストークンによってユーザーを見つけ、成功するとリクエストを実行します。

ユーザー名/パスワード 必須ではない デバイスに保存されます。

14
c-smile