【问题标题】:How can we get Json web token via angular?我们如何通过 Angular 获取 Json Web 令牌?
【发布时间】:2018-12-03 16:28:55
【问题描述】:

我在 Spring Boot 应用程序中有一个休息服务。

我有一个方法,它接受用户名和密码作为 json 数据并检查这些数据,如果它们为真,则服务返回 JWT 令牌。

当我通过 Angular 调用此方法时,我无法获取授权令牌并请求发送两次。

为什么请求发送两次,如何获取角度令牌?

import {Component, OnInit} from '@angular/core';
import {Payment} from './Payment';
import {HttpClient, HttpResponse} from '@angular/common/http';

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {

  title = 'Home';
  constructor(private http: HttpClient) {
  }

  ngOnInit() {

    this.http.post('http://localhost:8084/login', JSON.stringify({ username: 'mehman', password: 'mehman' }), { observe: 'response' })
      .subscribe((response: HttpResponse<any>) => { console.log(response); });
  }
}

【问题讨论】:

  • 请发布服务和组件代码。以便我们更好地了解您的问题并提供解决方案。
  • 可能是 CORS 问题
  • 我为这个问题添加了@CrossOrigin到我的休息方法=> Access-Control-Allow-Origin
  • 是的,但这就是请求被发送两次的原因。一次用于 OPTIONS,一次用于 POST。而且我认为响应中的标头是延迟加载的,因此您需要访问它们才能看到它们显示
  • 如何防止两次请求?我无法理解您的第二种方法。

标签: angular spring-boot authentication spring-security


【解决方案1】:
猜你喜欢
  • 2019-09-28
  • 2018-06-13
  • 1970-01-01
  • 1970-01-01
  • 2017-11-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-02
  • 1970-01-01
相关资源
最近更新 更多