問題タブ [http-token-authentication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
761 参照

angularjs - Angular を使用したトークン ベースの認証

ユーザー名とパスワードが正しい場合、ユーザー名とパスワードが正しい場合、トークンを返し、ngStorage を使用してローカル ストレージに保存しますが、localStorage にトークンを保存するのは安全ではないという記事を読み、Cookie Http に保存することを参照しました。Cookie Http にトークンを保存するにはどうすればよいですか。それは安全ですか、またはトークン認証を処理するためのより良い方法はありますか

0 投票する
0 に答える
351 参照

android - devise_token_auth アクセス トークンを使用して HTML でユーザー セッションを開始する方法は?

devise および devise_token_auth gem を使用する Rails 4 アプリがあります。Rails アプリで通常どおり html リクエストに devise を使用し、devise_token_auth を使用してアクセス トークンを取得するようにします。上記のすべてが正常に機能します。

ここで、REST クライアントから、access_token ヘッダーを使用して html ルート ページを取得したいと考えています。

私のapplication_controllerで、次の行を追加すると:

アクセス トークン ヘッダーが設定された RESTClient からのホームページの要求は正常に機能し、ユーザーをログイン ページにリダイレクトします。しかし、ブラウザーでデバイスからサインインしてサインアップしようとすると、user_signed_in? を使用する場所でエラーが発生します。と他の工夫方法。

上記の行を application_controller から削除すると、通常のサインインとサインアップによるすべてのブラウザー呼び出しは (関連するリダイレクトで) 正常に機能しますが、access_token ヘッダーを設定して REST クライアントからホームページを取得することはできません。

ルート コントローラーのコードは次のとおりです。

home_controller.rb

リクエストとレスポンスは次のとおりです。

1: application_controller に SetUserByToken 行が存在する場合

1.1 RESTClient から:

1.2 ウェブページから

2: Application_controller で SetUserByToken 行が設定されていない場合

2.1 RESTClient から:

2.2 ウェブページから

通常のブラウザーと REST クライアントの両方からサイトを機能させるにはどうすればよいですか?

実際の目標は、ユーザーが電子メールとパスワードを入力してネイティブ コードからサインインし、アクセス トークンが正常に返された場合に切り替える Android クライアント アプリ (この問題が解決されたら、REST クライアントの代わりに) を用意することです。ユーザーがサインインした状態でセッションをロードする WebView を表示するアクティビティに。WebView 内では、ユーザーはサインインしたままで、すべてのページをナビゲートできます。ユーザーがネイティブ クライアントからサインアウトすると、アクセス トークンは破棄され、ユーザーはサーバー セッションからもサインアウトされます。

0 投票する
0 に答える
138 参照

ruby-on-rails - Rails 4 API の呼び出しを自分のモバイル アプリのみに許可するにはどうすればよいですか?

devise_token_auth を使用して API を公開する Web アプリがあります。私は、https を介してこの Web アプリのさまざまな側面と通信する複数のモバイル アプリを構築しています。devise_token_auth を使用してアクセス トークンを取得し、そのアクセス トークンを今後のリクエストで使用します。

私の Web バックエンドと通信する独自​​のモバイル アプリを他のユーザーが作成するケースは避けたいと考えています。

モバイル クライアントから呼び出しが行われると、サーバーに既にサインアップしているユーザーとパスワードを使用してアクセス トークンを取得します。他のユーザーが独自のモバイル クライアントを作成できないようにするにはどうすればよいですか?

オプション 1: 秘密の api トークンを作成し、それをクライアントとサーバーで使用できます。モバイル クライアントは api トークンを渡し、サーバーは api トークンを含む要求のみを受け入れます。オプション 1 の問題: ネットワーク上でリクエストを見た人は誰でも、API トークンを使用して同様のリクエストを作成し、API トークンを使用して同じ呼び出しを行うことができます。

オプション 2: Web サーバーを oauth サーバーにします。この場合、アプリは oauth を使用して、自分の api ユーザーに対してのみクライアント要求を承認し、他の要求を拒否します。オプション 2 の問題: oauth について、それがこのように機能するかどうか、および devise_token_auth に加えてこれを実装する方法を知るのに十分な知識がありません - これは事実上、サーバーで 2 つの資格情報がチェックされることを意味します - api ユーザーの oauth 検証、実際のユーザーのdevise_token_auth検証。

これこれに関連する質問を見ましたが、それらは私のシナリオではありません。これらのスレッドでの推奨事項は、a) https + 基本認証で十分であり、oauth は不要であること、および b) 許可されていない IP アドレスをブロックすること (問題: どの IP アドレスがモバイル アプリ ユーザーであるかを検出する方法がわからない) のようです。 ' そして、これは他の誰かのものです)。c) これらのスレッドからのもう 1 つの洞察は、アプリの識別に使用する秘密鍵をモバイル アプリに保存した場合、モバイル アプリ (少なくとも Android では) は完全にリバース エンジニアリング可能であるため、公開される可能性が高いということです。

これを設計/実装するための最良の方法に関する提案はありますか? https + 基本認証だけで十分ですか?

どんなコードでも喜んで共有したいと思います (SO は通常、質問でコードを期待しているため) - しかし、ここで共有するコードが正直にわかりません。

0 投票する
0 に答える
456 参照

signalr - Context.User.Identity.GetUserId() と Context.User.Identity.Name は、signalR の Hub で null を返しています

Context.User.Identity.GetUserId() と Context.User.Identity.Name は、signalR の AppHub.cs (ハブ) で null を返します。これでは、Identity Framework でトークン ベースの認証を使用しています。

0 投票する
2 に答える
3912 参照

python - Django Restframework でユーザーにトークンが割り当てられているかどうかを確認する

Django Restframework を使用してサイトのトークン認証を設定しており、ユーザーがトークンをダウンロードできるようにする必要がありますが、問題は、トークンを 1 回しかダウンロードできないことです (Amazon AWS モデルと同様)。

言い換えると; ユーザーがrestframeworkでトークンを割り当てられているかどうかを確認するネイティブな方法はありますか?

0 投票する
2 に答える
174661 参照

c# - ユーザー インターフェイスのない Web API でのトークン ベースの認証

ASP.Net Web API で REST API を開発しています。私の API は、ブラウザ ベース以外のクライアントからのみアクセスできます。API にセキュリティを実装する必要があるため、トークン ベースの認証を使用することにしました。私はトークンベースの認証をかなり理解しており、いくつかのチュートリアルを読みましたが、それらにはすべてログイン用のユーザー インターフェイスがあります。ログインの詳細は、データベースから承認される HTTP POST を介してクライアントから渡されるため、ログイン用の UI は必要ありません。API にトークン ベースの認証を実装するにはどうすればよいですか? 注意してください-私のAPIは頻繁にアクセスされるため、パフォーマンスにも注意する必要があります。もっとうまく説明できるかどうか教えてください。

0 投票する
1 に答える
71 参照

authentication - WebAPI 2 認証の混乱

いくつかの調査を行った後、WebAPI 2で認証と承認を実装するには多くの方法があることを理解しました...特にトークンベースの認証を検討しています

  1. カスタム OAuth プロバイダーを実装し、それを OWING パイプラインに注入する
  2. 必要なトークンを生成してDBに保存し、カスタム認証属性を使用する「認証」コントローラーを実装します(#1からこの方法の利点または欠点を理解できます)ここを参照してください http://www.asp.net/web -api/概要/セキュリティ/認証フィルター
  3. ここで説明されているようなトークン認証を実装する完全なカスタム認証フレームワークhttp://www.codeproject.com/Articles/630986/Cross-Platform-Authentication-With-ASP-NET-Web-API

ここに行く最善の方法は何ですか? 私は非常に混乱しています ...