0

私はlaravel 5.2.45から5.3.15にアップグレードしたばかりで、他の多くの人と同様に、パスポートとコマンドに付属するデフォルトのテーブルを実装する方法についていくつか質問があります。

php artisan make:auth

状況 1:

2 つの別個のデータベース接続を持つように構成をセットアップしました。1 つは「core」(デフォルト接続) という名前で、もう 1 つは「auth」という名前です。

質問1:

すべての手順を適切に実行して移行すると、すべてのテーブルが 1 つのデータベースに取り込まれます。パスポートの移行を認証データベースに他のすべてのものから切り離したいと思います。どうすればこれを達成できますか?

状況 2:

(すべての構成ファイルが正しく設定されていると仮定します)

ユーザーテーブルをacct_userに変更し、すべてが完全に機能するように、以前のバージョンのlaravel(5.2)でこれを行うことができました。現在、同じ必要な変更を加えてユーザーを登録しようとすると、ユーザーはデータベースに保存されません。

Illuminate\Foundation\Auth\RegistersUsersにあるコードを取り出し、App\Http\Controllers\Authにある RegisterController クラス内の特性のメソッドをオーバーライドしました。

コード:

/**
 * Handle a registration request for the application.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function register(Request $request)
{
    $this->validator($request->all())->validate();

    event(new Registered($user = $this->create($request->all())));

    $this->guard()->login($user);

    //return redirect($this->redirectPath());
    //return $user;
}

上記のコードは、私が収集したものから、登録要求の処理とデータベースでのユーザーの作成を直接担当しています。ただし、イベントヘルパー内でハングアップし続け、リダイレクトし続け、ユーザーを作成しません。クラス全体でリターンリダイレクトもコメントアウトしようとしましたが、どうやらリダイレクトはイベントヘルパー自体の中で発生します。このため、私は Postman を使用してリクエストを行っています。

質問2:

ここで何か間違ったことをしていますか?リダイレクトを止めて、代わりに単にユーザーオブジェクトを返すようにするにはどうすればよいですか?

状況 3:

(自己消費アプリケーションをシミュレートしようとしています)

パスポートを使用してPostmanを介してログインまたは登録リクエストを行うと、JWTが埋め込まれたlaravel_token Cookieが返されることを期待しています。

質問 3:

Postman を介して、どうすればこれを返品できますか?? または、現在どこにも見つからないので、どこを見ますか。多分私はここでも何か間違ったことをしています。

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

4

1 に答える 1

1

私は似たようなことをしようとしてこの問題に遭遇していました。この質問の日付以降、いくつかの質問で得られた結果である可能性のあるいくつかの内部の問題に対処する、laravel/passport ベンダー コードにいくつかの新しいリビジョンがありました。

ただし、質問に直接答えるには:

質問1:

すべての手順を適切に実行して移行すると、すべてのテーブルが 1 つのデータベースに取り込まれます。パスポートの移行を認証データベースに他のすべてのものから切り離したいと思います。どうすればこれを達成できますか?

答え 1:

この質問は、laravel/passport github で同様の方法で尋ねられ、その応答は、追加する必要がある追加機能になるというものでした。それらはパスポートのフレームワークに組み込まれているためです。

質問2:

ここで何か間違ったことをしていますか?リダイレクトを止めて、代わりに単にユーザーオブジェクトを返すようにするにはどうすればよいですか?

答え 2:

App\Http\Controllers\Auth\ directoryファイル内とファイル内のメソッドを確認App\Http\Middleware\RedirectIfAuthenticated.phpし、リダイレクト呼び出しをコメントアウトします。これにより、最初に呼び出しreturn $variable;があった場所で実行できるようになります。redirect->

質問 3:

Postman を介して、どうすればこれを返品できますか?? または、現在どこにも見つからないので、どこを見ますか。多分私はここでも何か間違ったことをしています。

答え 3:

回答 2 を実行すると、DB クエリから返された値を変数に割り当てて、その特定の変数を返すことができます。

お役に立てれば。

于 2016-11-04T17:43:03.647 に答える