如何使用具有accessToken的api网关通过微服务架构访问受保护的资源-Spring Boot 2

时间:2018-12-17 20:21:24

标签: spring-boot jwt microservices netflix-eureka netflix-zuul

我已经使用spring boot 2使用netflix eureka,Zuul api网关构建了微服务架构。为此,我提供以下服务:

  1. 身份验证服务(未在eureka中注册)
  2. api网关
  3. 尤里卡服务注册
  4. 预订服务

我能够通过api网关访问预订服务和其他服务。但是,当资源受到安全保护时,我就无法做到。

已完成的步骤:

  • 获得身份验证服务(身份验证服务)
  • 中的访问令牌
  • 在资源服务器(预订服务)
  • 中输入了公钥
  • 当通过(预订服务)的直接URL访问受保护的资源时,它正在工作。但是,当尝试通过api-gateway访问时,它抛出401(未授权)。请行会摆脱这个问题。我粘贴了api-gateway .yaml属性。

    spring:
       application:
          name: edge-service
    
    server:
      port: 8999
    
    eureka:
      instance:
        preferIpAddress: true
      client:
        registerWithEureka: true
        fetchRegistry: true
        serviceUrl:
          defaultZone: http://localhost:8888/eureka/
      server:
        enableSelfPreservation: false
        waitTimeInMsWhenSyncEmpty: 0
    
    Info:
      app:
        name: Edge Server Application
        description: Zuul edge service for api gateway
        version: 1.0.0
    
    ribbon:
      ReadTimeout: 20000
      ConnectTimeout: 20000
    
    
    zuul:
      prefix: /api
      strip-prefix: true
      routes:
        reservation-service: /reservation/**
        registration-service: /registration/**
    

注意:如果需要进一步的详细信息/说明,请发表评论

0 个答案:

没有答案