2017-03-10 9 views
-1

ウェブサイトとiOSアプリがあり、iOSアプリにログインできるようにしたいと考えています。iOSアプリからログイン

しかし、同じユーザーがウェブサイトとiOSアプリの両方にいてほしいです。私のアプローチは、WebサイトでAPIを作成してから、アプリケーションからWebサイトへのリクエストを使用することです。

しかし、POSTリクエストを受け取り、ユーザーがiOSアプリに入力したものをAPIに送信してから、iOSにリクエストを送信してログインが成功したかどうかを伝えるAPIを作成することは安全です。

このように暗号化されていない状態で送信すると危険なことはありませんか?

+1

APIリクエストが「https」になっていることを確認してください。そうすることで、リクエストは暗号化され、プレーンテキストの他のユーザーには見えないようにするのが理想です。 – GoodSp33d

+0

デフォルトでは、iOSはHTTP経由で行われたすべてのリクエストをブロックします。 HTTPを使用したい場合は、info.plistで明示的にHTTPサービスを許可しなければなりませんでした。 – NSNoob

+0

また、ここではなく、あなたの質問がSoftware Engineering SEに適していると思います。 – NSNoob

答えて

2

これは確かにHttpsを使用しているはずです。このようにしてすべての通信が暗号化され、メッセージを盗んでいる人は送信された内容を見ることができなくなります。これには、ポート443のWebサイトを実行する必要があります。また、証明書を使用して自分の身元を確認することをお勧めします。これは、暗号化するなど、有料サービスまたは無料サービスのいずれかを使用して行うことができます。 expresを使用していると仮定すると、私は個人的なもののために使っているthisを見ることができます。

認証自体については、JWT(JSON Webトークン)を使用します。これはユーザにあなたにユーザ名とパスワードを与えることを要求します。ユーザ名とパスワードが確認されると、それにエンコードされたデータを使用したトークンを返します。非常に簡単なガイドについてはthisをご覧ください。

最後に、データベースのパスワードが塩漬けされ、ハッシュされていることを確認してください。

1

iOSアプリケーションからWebビューでWebサイトのログインページを呼び出すことができます。

  1. ユーザーがログインボタンをタップすると、ベンダーIDを持つサーバーにAPIを呼び出します。 あなたはhereからベンダーID、およびオープンなWebビューを見つけることができます

  2. /ログイン登録または任意のアクションを行うことができます上部のナビゲーションbar.onウェブビューのユーザーで行うボタンでWebビューで開き、Webログインページ

  3. ユーザーがログイン後に完了したとき。同じベンダーIDを使用してAPIを再度呼び出すと、モバイルからのWebへのユーザーログインが確認されます。応答を送信します。

私はそれがあなたを助けてくれることを願っています。

+0

Re#2。ネイティブVCからREST APIを呼び出すのではなく、WebViewでwebのログインページを表示すると、ログイン要求の応答をどのように受け取るのですか? – NSNoob

+0

Re#3。なぜ彼はユーザーのクライアント設定を知りたいのですか?彼はREST API経由でJSONだけを送信し、クライアントはそれを消費して、OPが望むどのような形式でも表示する必要があります。 – NSNoob

+0

Re#1: "Vendor Id"はどこに来るのですか?誰がこれをupvoted! – NSNoob

関連する問題