質問: ### 前提・実現したいこと Androidアプリ用のWebAPI開発を行なっています。 laravel5.6+passportでのAPI認証を実装したいと思っています。 ユーザ登録についての質問です。 /registerでアクセスできる登録フォームからユーザ登録を行えることは確認しましたが、 運用する上ではlaravelデフォルトの登録ページではなく、アプリ内の自前のフォーム画面を使いたいと思っています。 そこで、 ・name ・email ・password を、(例えば/api/registerのようなURLに)POSTして登録がしたいと考えています。 どなたか方法をご存知ではないでしょうか? (web.phpに記載されているAuth::routes()をapi.phpに移すようなイメージでしょうか?) ### 試したこと Laravel5.6 PassportでAPI認証を実装を参考に進めています。 ### 補足情報(FW/ツールのバージョンなど) laravel5.6 PHP7.1
回答: その記事の執筆者です。 > > 運用する上ではlaravelデフォルトの登録ページではなく、アプリ内の自前のフォーム画面を使いたいと思っています > > (例えば/api/registerのようなURLに)POSTして登録がしたいと考えています。 > > > 単純にname, email, passwordを投げるとユーザが作成されるAPIを作れば良いです。 ``` public function register($Request request) { // バリデーションは割愛 return App\User::create([ 'email' => $request->email, 'name' => $request->name, 'password' => \Hash::make($request->password), // パスワードは平文保存しない ]); } ``` しかし、もし質問者さんがLaravelはおろかサーバーサイド実装自体未経験で、上記コードをどこにどのように記載して良いかも分からない状態の場合、実装できるようになるまで結構な学習コストがかかります。 サーバーサイドへの情熱がそれほどないようであれば、会員登録・認証・DB等の役割を全て引き受けてくれるFirebaseを使った方が良いでしょう。 Passportの詳細はドキュメントのAPI認証(Passport)を御覧ください。