問題タブ [fosoauthserverbundle]

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 投票する
1 に答える
657 参照

security - Facebookログインを使用してJavascriptフロントエンドを接続し、OAuth 2.0を介してPHPバックエンドを接続するにはどうすればよいですか?

次の要素があります。

  • OAuth で保護された RESTful API を提供するPHP バックエンド(FOSOAuthServerBundle with Symfony 2)
  • Javascript フロントエンド(AngularJS)、つまりOAuth クライアント

私の目標は、フロントエンドで認証ページをユーザーに提供し、Javascript を介してログインして API にアクセスできるようにすることです。

この記事によると、私はこれを次のように行います: http://www.bubblecode.net/fr/2013/03/10/comprendre-oauth2/ (残念ながらフランス語ですが、少しスクロールすると、標準的な助成金の流れは英語です):

  1. ユーザー資格情報 (ログインとパスワード) を尋ねるフォームを提供します
  2. OAuth Implicit Grantを使用して、ユーザー資格情報をアクセス トークンと交換します。

これまでのところ、すべてが (ほぼ) うまく機能するはずです。


さて、この質問の理由は、Facebook ログインをフロントエンドに追加したいからです。これにより、フロントエンドでユーザーが Facebook ログインに登録するたびに、Facebook アクセス トークンが得られます。理想的には、バックエンドは次のようにする必要があります。

  • このトークンを取得
  • それを検証するために Facebook PHP API に対してチェックしてください
  • Facebook PHP API からユーザーの Facebook UID を取得します
  • 私のアプリ登録ユーザーのものと比較してください
  • Facebook の UID が登録済みのアプリ ユーザーの 1 人と一致する場合にのみ、アクセス トークンを返します (今回は Facebook ではなく、自分のアプリ用です)。

私の質問は次のとおりです:このようなユースケースでフロントエンドとバックエンドの間のトランザクションを行うためにどのタイプの許可を使用する必要がありますか?

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

rest - セッションユーザーと accesseess_token を持つユーザーを同時に処理するにはどうすればよいですか?

1 年前に同じ質問がありましたが、提供された解決策が正しくなく、機能しません。

FOSUSerBundle + FOSRestBundle + FOSOauthServerBundle があり、保護したい /api パスの下にいくつかのリソース コントローラーがあります。

Backbone.js フロントエンドからこの API を使用する通常のユーザーがいますが、この API をモバイル アプリケーションに使用したいので、access_token ロジックが必要です。

/api/resource?access_token=TOKEN url を使用するとうまく機能しますが、通常の Web ログイン フォームでユーザーとしてログインすると機能しません。symfony は 401 エラーをスローします。

ここに security.yml があります:

ウェブサイトとモバイルアプリの両方で適切に処理できますか? アドバイスをお願いします。

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

php - OAuth 2.0 を使用したシングル サインオン

ユーザーの認証に oauth2 を使用する API を開発しています。要件は、3 つの異なる Web アプリケーション用のシングル サインオン システムを開発することです。このシナリオを考えてみましょう:

  • ユーザーがアプリケーションの 1 つ (application1 としましょう) にログインします。
  • application1 は、トークンとリフレッシュ トークンを受け取ります。リフレッシュ トークンはセキュア セッションに保存されます。
  • ユーザーは、application2 などの 2 番目のアプリケーションに移動します。ただし、更新トークンは application1 用に作成されているため、application2 には使用できません。

ユーザーがログインする必要なく、2 番目のアプリケーションのトークンを生成する最良の方法は何ですか?

どんな提案も素晴らしいでしょう。私は正しいアプローチを取っていますか?symfony2 (FriendsOfSymfony/FOSOAuthServerBundle) を使用しています

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

symfony - Symfony2 oauth2 サーバー

Web サイト (3 つの Web サイト、1 つのログイン) 用に oauth2 サーバーを作成したいと考えています。サーバーを作成し、FOSUserBundle と FOSOAuthServerBundle を使用し、指示に従いました。

しかし、私には1つの問題があります。/oauth/v2/token でトークンを作成できます。これで問題ありません。/oauth/v2/oauth に移動できますが、Web サイトにリダイレクトされると、example.com?error=invalid_request&error_description=Invalid+response+type.

/login でログインすると、ログインはできますが、トークンは作成されません。ウェブサイトが 1 つしかない場合はこれで問題ありませんが、Google のようなものを作成したいと考えています (マップを使用している場合は、YouTube... ログインする場合は、accounts.google.com にリダイレクトされ、ログインします)。 、その後 Web サイトに戻ります) が、今はその方法がわかりません。もっと仕事をする必要があると思いますが、正確にはどこですか?

私のsecurity.ymlは今:

新しいログイン ページまたはユーザー プロバイダーを作成する必要がありますか? ありがとう :)

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

symfony - FOSOAuthServerBundle でリフレッシュトークンを取得する

次のような URL を使用してアクセス トークンを要求する場合 (付与タイプとしてクライアント資格情報):

次の json 応答を取得します。

更新トークンがありません。なぜこれが考えられるのでしょうか?

config.yml の私の FOSOAuthServerBundle:

アップデート

クライアント エンティティは、親エンティティ (FOSOAuthServerBundle にある) のコンストラクターを呼び出します。

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

php - FOSOAuthServerBundle TokenController で「forward」を使用する

JS アプリと OAuth サーバーの間のプロキシとして機能する新しいコントローラーを定義しています。コードは以下のとおりです。

しかし、転送先の TokenController には OAuth サーバーをパラメーターとして期待するコンストラクターがあるため、次のエラーが発生します。

私は知らない:

  1. このサーバー インスタンスを取得できる場所
  2. どうすればTokenControllerに渡すことができますか
  3. 私の方法全体が正しいかどうか
0 投票する
0 に答える
492 参照

php - Android と Symfony2 での OAuth2 パスワード フロー (FOSOAuthServerBundle)

ユーザーが FOSOAuthServerBundle を使用して RESTful API にアクセスできるようにしようとしています。ユーザーが Android を使用して API にアクセスできるようにする必要があります。上記のユーザーは、パスワード フローを使用して API に接続する必要があります。

現在、URI でブラウザーを使用する場合:

http://BASE_URL/oauth/v2/token?client_id=CLIENT_ID&client_secret=CLIENT_SECRET&grant_type=password&username=USERNAME&password=PASSWORD

JSON 応答で返されます。

{"access_token":"ACCESS_TOKEN","expires_in":3600,"token_type":"bearer","scope":"user","refresh_token":"REFRESH_TOKEN"}

したがって、サーバーがトークンを返すことができることはわかっています。ただし、OAuth2 クライアントを使用して Android でトークンをリクエストしようとすると、エラーが発生します。私のコードは次のとおりです。

Daniel Szmulewicz aka danielsz によるこのPassword Flow Client を使用してトークンを管理しています。

ログキャット:

さらに情報が必要な場合はお知らせください。ご協力いただきありがとうございます。

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

symfony - FOSAuthServerBundle のログインと認証プロセス

私はsymfony2でモバイルアプリ用のAPIを構築しています。FOSAuthServerBundle をセットアップし、正しく構成しました。

http://blog.tankist.de/blog/2013/07/18/oauth2-explained-part-3-using-oauth2-with-your-bare-hands/

クライアント資格情報を使用して tokan を生成することもできます。また、ユーザーを Outh ログイン ページにリダイレクトすることもできます。認証と承認の部分で立ち往生しています。現在の Web サイトとして、独自のエンティティ メンバーとして、Web サイト ユーザーとして。誰かが FOSAuth を使用した認証と承認プロセスの例を投稿できますか? 私はsymfonyの初心者です。

どんな助けでも大歓迎です。

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

symfony - サービス「security.authentication.manager」は、存在しないサービス「security.user.provider.concrete.fos_userbundle」に依存しています

私は非常にイライラする問題を抱えており、Symfony が違反者について言及していないため、どこでトラブルシューティングを行うべきかさえわかりません。

Sonata User Admin/ FOSUser バンドルが完全に機能しているアプリでモバイル ユーザーを認証するために、OAUTH サーバーを構築する必要があります。

以前使っていた FOSOAuthServerBundle を問題なくインストールすることにしました。しかし、今日、次のエラーが発生し続けます。

ここに私の関連ファイルがあります:

config.yml

security.yml

ここにほぼ同様の質問がありますサービス「security.authentication.manager」は、存在しないサービス「security.user.provider.concrete.fos_userbundle」に依存していますが、彼の問題は、プロバイダーの下の fos_userbundle id を省略することによって引き起こされました。私の状況の場合。

誰かが光を当てるのを手伝ってください

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

php - UserProvider が正しいインターフェースを実装していない

FOS ユーザー バンドル パッケージと FOS Oauth パッケージでカスタム UserProvider を使用しようとしています。私はこのチュートリアルに従っていますhttp://blog.tankist.de/blog/2013/07/17/oauth2-explained-part-2-setting-up-oauth2-with-symfony2-using-fosoauthserverbundle/

新しいユーザー サービスを登録しようとすると、次のエラーが表示されます。

UserProvider::__construct() must implement interface Doctrine\Common\Persistence\ObjectRepository, array given

ユーザープロバイダー:

ユーザーリポジトリ

class UserRepository extends EntityRepository implements ObjectRepository

services.yml