Bom dia! estou usando a api passport para autenticar o email e password com ionic, no postman a autenticação funciona perfeitamente mais na hora que testo pelo ionic da erro.
no postman fica assim:
No provider eu fiz:
export class AuthProvider {
constructor(public http: Http) {
}
login(email: string, password: string) {
return new Promise((resolve, reject) => {
var data = {
email: email,
password: password
};
console.log(data);
let headers = new Headers({'Content-Type': 'application/x-www-form-urlencoded'});
this.http.post(`${Service.apiUrl}` + '/login', data,{
headers: headers,
method: "POST"
})
.subscribe((result: any) => {
resolve(result.json());
},
(error) => {
reject(error.json());
});
});
}
register(user: any) {
return this.http.post(`${Service.apiUrl}` + '/register', user).toPromise();
}
}
Na classe eu chamo o provider:
export class LoginPage {
model: User;
constructor(
public navCtrl: NavController,
public navParams: NavParams,
private authProvider: AuthProvider,
private toast: ToastController
) {
this.model = new User();
}
ionViewDidLoad() {
console.log('ionViewDidLoad LoginPage');
}
login() {
this.authProvider.login(this.model.email, this.model.password)
.then((result: any) => {
this.toast.create({
message: 'Usuário logado com sucesso.',
position: 'botton',
duration: 3000
}).present();
this.navCtrl.push(MinhaContaPage);
})
.catch((error: any) => {
this.toast.create({
message: 'Erro ao efetuar login. Erro: ' + error.error,
position: 'botton',
duration: 3000
}).present();
});
}
openCriarConta() {
this.navCtrl.push(CriarContaPage);
}
}
export class User {
email: string;
password: string;
}
Já na api de autenticação eu fiz dessa maneira:
public function login(Request $request)
{
if (Auth::attempt([
'email' => $request->get('email'),
'password' => $request->get('password')
])) {
$user = Auth::user();
$success['token'] = $user->createToken('MyApp')->accessToken;
return response()->json(['success' => $success], $this->successStatus);
} else {
return response()->json(['error' => 'Não autorizado'], 401);
}
}
Se o usuario não existe ele me retorna o erro 401, no meu caso o usuario existe no banco, tanto q no postman funciona perfeitamente. Queria saber pq não faz a autenticação pelo ionic!
o retorno o console fica assim:
Se alguém ajudar a desvendar agradeço de mais.