67

まず、私はプロではありません。

より良い開発者になるための探求において、何が必要で、Ionic-Framework アプリのサインアップ/ログインを作成する方法を理解しようとしています。

ほとんどのシングル ページ アプリケーション (SPA) は、クライアントに HTML を提供するノード サーバーで認証を処理します。私の場合、電話自体が HTML を提供するため、COR の問題が発生する可能性があると推測しています。

Ionic-Framework が状態とベースの angular-client-side-authリポジトリを使用することを理解しています。アプリで状態を変更するたびに認証する必要があります。

アプリの初期設定はできましたが、ここからどこに行けばよいのか混乱しています。

私が自由に使えるツール:

  • Node.JS サーバー - DigitalOcean に感謝します (これを DB へのプロキシとして使用する必要がありますか?)
  • CouchDB サーバー (フルスタックが登場)

私の質問:

  1. ハイブリッド アプリを使用する場合の認証の標準的な方法は何ですか?
  2. データベースへのプロキシとして Node.JS を使用する必要がありますか?
  3. node.js をスキップして、CouchDB サーバーで直接認証する必要がありますか? (これは聞いたことがあります)
  4. 私はこれについて間違った方向に進んでいますか?
  5. 潜在的な障害は何ですか?
  6. CORS はハイブリッド アプリケーションでどのように機能しますか?
  7. 不足しているものはありますか?

私がより良い開発者になるのを手伝ってくれてありがとう。

4

2 に答える 2

46

nathvarun は非常に完全な回答を提供しましたが、アプリでの認証のために行った手順を共有したいと思います。

  1. email+passwordを ajax 経由でサーバーに送信する
  2. サーバーでを生成tokenし、アプリに送り返す
  3. ストアemail+tokenインlocalStorage
  4. サーバーに送信するすべてのリクエストに対して、email+token経由で送信しますPOST
  5. サーバーで、そのトークンを使用してそのユーザーの信頼性を確認しtrue、メソッドが実行された場合false、アプリにエラー (401) を送り返す場合
  6. アプリが成功を受け取った場合は問題ありません。エラーを受け取った場合は、ログイン画面にリダイレクトします。

良いことは、アプリが開いているときに、からemail+を取得し、サーバーに送信し、そのトークンがそのユーザーにとって問題ない場合はメイン画面にリダイレクトし、そうでない場合はログインにリダイレクトできることです。その後、ユーザーがアプリのキャッシュをクリアするたびに、ログイン画面にリダイレクトされます。tokenlocalStorage

于 2014-09-01T14:34:17.950 に答える
1

私が取り組んでいるいくつかのアプリには、実際にそのようなものが必要でした。私はこれを調査するのにかなりの時間を費やし、それを達成することができました。

メール/パスワード認証に加えて、同じように機能するソーシャル認証をいくつか追加しました。

  1. ログイン用のプロバイダー(facebook / twitter / instagram)のURLを使用して、クライアント側でURLを開きます
  2. ユーザーがログインし、サーバーのコールバック URL にリダイレクトされます (私のサーバーは nodejs で記述されています)
  3. プロバイダーからアクセス トークンを取得したら、このトークンを保存してから、ユーザーが保護されたリソースにアクセスするたびにクライアントが再利用するトークンを作成します。

apkをダウンロードしてテストします。

これがあなたが探しているものである場合は、https ://github.com/malikov/Authenticate.me-client-cordova-ionic で両方のクライアント側コードをチェックアウトできます。

そして、サーバー側のコード: https://github.com/malikov/Authenticate.me-Node-Server

于 2014-09-15T21:36:33.487 に答える