質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

1973閲覧

laravelデフォルトの登録ページを使わずにユーザ登録をしたい

takg

総合スコア125

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2018/09/21 05:48

前提・実現したいこと

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

その記事の執筆者です。

運用する上では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)を御覧ください。

投稿2018/09/21 07:47

編集2018/09/21 07:56
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

takg

2018/09/22 00:18

ご回答ありがとうございます。 UserController内にregister()を記載し、問題なく動作しました。 一つ質問なのですが、laravelデフォルトの登録ページの場合、csrfトークンを用いてユーザ登録を特定のページに制限していると思います。 一方、Androidアプリからの利用の場合、ユーザ登録後はAPI認証によってアクセス制限を掛けられると思いますが、このユーザ登録APIについてはそうした制限は掛けられないと思います。 なにかしらの方法を講じて、誰でも(URLを知っていれば)このAPIでユーザ登録できるような状況を回避すべきでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問