Technologies: Federverschluß Winkel 2 google oauthoauth Antwort für Preflight hat ungültige HTTP-Statuscode 403
Frühjahr Boot-Code Google Auth für die Anmeldung zu verbinden versucht. eckiger Code macht ein http.get, um Benutzerinformationen abzurufen. Ich bekomme den obigen Fehler 403. Früher habe ich "CORS Preflight-Kanal ist nicht gelungen" in Firefox. Umzug nach Chrom gibt mir 403.
Ich suchte SO und Google. Habe einige Fehler behoben, aber habe mein Problem nicht gelöst. Jede Hilfe wird geschätzt.
sring Boot-Controller
@CrossOrigin(origins = {"http://localhost:4200"})
@RestController
public class UserRestController {
@RequestMapping("/")
public RedirectView index()
{
RedirectView redirectView = new RedirectView();
redirectView.setUrl("http://localhost:4200/");
return redirectView;
// return "index";
}
@CrossOrigin(origins = {"http://localhost:4200"})
@RequestMapping("/user")
public Principal sayHello(Principal principal) {
return principal;
}
}
Winkel 2 Code
import { Component, OnInit } from '@angular/core';
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import {Headers, RequestOptions} from '@angular/http';
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/operator/map';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
@Injectable()
export class AppComponent implements OnInit {
title = 'app works!';
user : any;
private headers:Headers = new Headers({'Content-Type': 'application/json'});
private auth64 = btoa("my-trusted-client:secret");
private tokenHeaders = new Headers({
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Basic '+this.auth64
});
constructor(private http : Http){
}
// method for getting user details
getUser() {
// this.http.get('http://localhost:8080/user').success(function(user) {
// this.user = user;
// console.log('Logged User : ', user);
// }).error(function(error) {
// // $scope.resource = error;
// });
let options = new RequestOptions({ headers: this.tokenHeaders});
// let options = { headers : this.tokenHeaders};
this.http.get('http://localhost:8080/user', options)
.subscribe ((data :Response)=> {
this.user = data;
console.log('Logged User : ', data);
});
}
// method for logout
logout() {
// this.http.post('http://localhost:8080/logout', null);
this.user = null;
}
ngOnInit() {
this.getUser();
}
}
Danke. Chrome-Tool half. Jetzt ist der Fehler "Invalid CORS-Anfrage". Lass mich nach einer Lösung suchen. –
Haben Sie versucht, die Header hinzuzufügen, die ich erwähnt habe, und bitte geben Sie eine Upvote, wenn es Ihnen wirklich geholfen hat. –