91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringCloud consul 微服務SpringSecurityOAuth2 authorization_code模式遇到的坑有什么

發布時間:2021-10-20 09:33:48 來源:億速云 閱讀:158 作者:柒染 欄目:大數據

本篇文章為大家展示了SpringCloud consul 微服務SpringSecurityOAuth2 authorization_code模式遇到的坑有什么,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

目前項目在使用consul做服務注冊與發現,做SpringSecurityOAuth3 權限認證的authorization_code模式的時候發現一個異常坑爹的問題

這是開始的服務注冊代碼塊 bootstrap.yml:

spring:
  cloud:
    consul:
      port: 8500
      host: localhost
      discovery:
        serviceName: auth
        locator:
          lower-case-service-id: true
          enabled: true
        register: true

這是注冊完后的健康檢查

SpringCloud consul 微服務SpringSecurityOAuth2 authorization_code模式遇到的坑有什么

他會把你的主機地址給注冊上來。 平時使用可能沒問題,但是 當做OAuth3的 authorization_code 模式認證的時候,會出現跨域異常情況如下:

這是請求路徑:

http://localhost:8001/auth/oauth/authorize?response_type=code&client_id=client_name&redirect_uri=http://localhost:8001/auth/callback&scope=auth

訪問后跳轉到默認的登錄界面:

SpringCloud consul 微服務SpringSecurityOAuth2 authorization_code模式遇到的坑有什么

沒有權限 返回401。 問題就出在了,跳轉回主機名導致了跨域問題。

解決該問題的措施就是修改開始的bootstrap.yml的文件:

spring:
  cloud:
    consul:
      port: 8500
      host: localhost
      discovery:
        serviceName: auth
        locator:
          lower-case-service-id: true
          enabled: true
        register: true
        prefer-ip-address: true #這個必須配
        tags: version=1.0
        instance-id: ${spring.application.name}:${spring.cloud.client.ip-address}
        healthCheckInterval: 15s
        health-check-url: http://${spring.cloud.client.ip-address}:${server.port}/actuator/health

consul注冊增加強制限制 prefer-ip-address:true 強制獲取ip的方式注冊到consul。

2019.07.09

由于沒有配置

spring.cloud.consul.discovery.prefer-ip-address=true

微服務將會注冊所在主機/容器的主機名 注冊到consul,然而,我們會發現有時可能造成注冊IP到consul  主機名是通過調用Java API獲取的,有時候Java API無法獲得主機名,于是會將IP地址發送給 consul + 只要你配置了環境變量HOST_NAME ,就可以將你所配置的環境變量注冊

spring.cloud.gateway.discovery.instance.hostname=${HOST_NAME}

獲取主機名的相關代碼:

https://github.com/spring-cloud/spring-cloud-commons/blob/master/spring-cloud-commons/src/main/java/org/springframework/cloud/commons/util/InetUtils.java

從ip跳轉回主機名導致跨域權限異常。

上述內容就是SpringCloud consul 微服務SpringSecurityOAuth2 authorization_code模式遇到的坑有什么,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

公主岭市| 宿迁市| 阳城县| 甘孜| 南投市| 临江市| 连江县| 安丘市| 温宿县| 马山县| 莱州市| 鹤岗市| 尼木县| 新余市| 永善县| 阳信县| 台中市| 濮阳县| 格尔木市| 灌阳县| 金华市| 青川县| 巴里| 绵阳市| 本溪市| 咸阳市| 南安市| 玉门市| 闻喜县| 磐石市| 砀山县| 松阳县| 阜阳市| 惠安县| 即墨市| 武宁县| 外汇| 万山特区| 临高县| 卢氏县| 鄂托克前旗|