У меня есть oauth-сервер, защищенный с помощью «spring-cloud-oauth2» и «spring-cloud-security», а приложение - приложение с пружинной загрузкой. Я пытаюсь получить access_token из углового 2 приложения, то есть я хочу войти в систему с углового 2 приложения. В моем oauth-сервере у меня есть клиент-id = микросервис и клиент-секрет = микросервис. Я проверил oauth-сервер от почтальона, где в разделе авторизации для имени пользователя и пароля я использую идентификатор клиента и клиентский секрет соответственно. И в разделе body я использую grant_type = password, client_id = microservice, [email protected], password = passw0rd, и все работает отлично.Как подключить угловое приложение 2 с сервером spring-oauth2?
Но у меня возникли проблемы с использованием конфигурации в угловом приложении 2. Я использовал следующие фрагменты кода.
userLogin(){
console.log("In the userLogin()");
var username:string='microservice';
var password:string='microservicesecret';
let headers = new Headers();
headers.append('Content-Type', 'application/json');
headers.append('grant_type','password');
headers.append('client_id','microservice');
headers.append('client_secret','microservicesecret');
headers.append('username',this.user.userEmail);
headers.append('password',this.userPassword);
console.log("User");
console.log(this.user);
console.log(headers);
console.log(JSON.stringify({username:username,password:password}));
var data = "username=" + username + "&password=" + password ;
this.http
.post(this.loginUrl,
JSON.stringify({user,password}),
{headers}
)
.map(res=>res.json())
.map((res)=>{
if(res.success){
console.log("Success");
localStorage.setItem('access_token',res.access_token);
console.log("Access token");
console.log(res.access_token);
}
});
}
Здесь пользовательEmail и userPassword добавляются пользователем. Маркер URL является
loginUrl:string="http://localhost:9000/services/oauth/token";
Но я gettng 401 ошибку. Мне нужно решение.