質問編集履歴

1

ログイン処理をしているコントローラーのコードの追加

2019/07/01 11:48

投稿

dauto
dauto

スコア38

test CHANGED
File without changes
test CHANGED
@@ -47,3 +47,161 @@
47
47
  }
48
48
 
49
49
  ```
50
+
51
+
52
+
53
+ ### 追記
54
+
55
+ ログイン処理の構文は以下の通りです。
56
+
57
+
58
+
59
+ AuthController
60
+
61
+ ```PHP
62
+
63
+ <?php
64
+
65
+
66
+
67
+ namespace App\Http\Controllers\Auth;
68
+
69
+ use App\User;
70
+
71
+ use Carbon\Carbon;
72
+
73
+ use Illuminate\Http\Request;
74
+
75
+ use App\Http\Controllers\Controller;
76
+
77
+ use Illuminate\Support\Facades\Auth;
78
+
79
+ class AuthController extends Controller
80
+
81
+ {
82
+
83
+ public function login(Request $request) {
84
+
85
+ $request->validate([
86
+
87
+ 'email' => 'required|string|email',
88
+
89
+ 'password' => 'required|string',
90
+
91
+ //'remember_me' => 'boolean'
92
+
93
+ ]);
94
+
95
+ $credentials = request(['email', 'password']);
96
+
97
+ if(!Auth::attempt($credentials))
98
+
99
+ return response()->json([
100
+
101
+ 'message' => 'Unauthorized'
102
+
103
+ ], 401);
104
+
105
+ $user = $request->user();
106
+
107
+ $tokenResult = $user->createToken('Personal Access Token');
108
+
109
+ $token = $tokenResult->token;
110
+
111
+ if ($request->remember_me)
112
+
113
+ $token->expires_at = Carbon::now()->addWeeks(1);
114
+
115
+ $token->save();
116
+
117
+ return response()->json([
118
+
119
+ 'access_token' => $tokenResult->accessToken,
120
+
121
+ 'token_type' => 'Bearer',
122
+
123
+ 'expires_at' => Carbon::parse(
124
+
125
+ $tokenResult->token->expires_at
126
+
127
+ )->toDateTimeString()
128
+
129
+ ]);
130
+
131
+ }
132
+
133
+ public function register(Request $request)
134
+
135
+ {
136
+
137
+ $request->validate([
138
+
139
+ 'fName' => 'required|string',
140
+
141
+ 'lName' => 'required|string',
142
+
143
+ 'email' => 'required|string|email|unique:users',
144
+
145
+ 'password' => 'required|string'
146
+
147
+ ]);
148
+
149
+ $user = new User;
150
+
151
+ $user->first_name = $request->fName;
152
+
153
+ $user->last_name = $request->lName;
154
+
155
+ $user->email = $request->email;
156
+
157
+ $user->password = bcrypt($request->password);
158
+
159
+ $user->save();
160
+
161
+ return response()->json([
162
+
163
+ 'message' => 'Successfully created user!'
164
+
165
+ ], 201);
166
+
167
+ }
168
+
169
+ public function logout(Request $request)
170
+
171
+ {
172
+
173
+ $request->user()->token()->revoke();
174
+
175
+ return response()->json([
176
+
177
+ 'message' => 'Successfully logged out'
178
+
179
+ ]);
180
+
181
+ }
182
+
183
+
184
+
185
+ /**
186
+
187
+ * Get the authenticated User
188
+
189
+ *
190
+
191
+ * @return [json] user object
192
+
193
+ */
194
+
195
+ public function user(Request $request)
196
+
197
+ {
198
+
199
+ return response()->json($request->user());
200
+
201
+ }
202
+
203
+ }
204
+
205
+
206
+
207
+ ```