Score:0

การตรวจสอบสิทธิ์ครั้งต่อไป ECONNREFUSED 127.0.0.1:80

ธง us

ฉันใช้ Next-auth กับ keycloak และ docker-compose และฉันได้รับข้อผิดพลาดนี้:

[การตรวจสอบสิทธิ์ครั้งต่อไป][ข้อผิดพลาด][GET_AUTHORIZATION_URL_ERROR]
อาเขต-iori | https://next-auth.js.org/errors#get_authorization_url_error เชื่อมต่อ ECONNREFUSED 127.0.0.1:80 {
อาเขต-iori | ข้อความ: 'เชื่อมต่อ ECONNREFUSED 127.0.0.1:80',
อาเขต-iori | สแต็ก: 'ข้อผิดพลาด: เชื่อมต่อ ECONNREFUSED 127.0.0.1:80\n' +
อาเขต-iori | ' ที่ TCPConnectWrap.afterConnect [เมื่อเสร็จสมบูรณ์] (โหนด:net:1161:16)',
อาเขต-iori | ชื่อ: 'ข้อผิดพลาด'
อาเขต-iori | }
อาเขต-iori | [การตรวจสอบสิทธิ์ครั้งต่อไป][ข้อผิดพลาด][SIGNIN_OAUTH_ERROR]
อาเขต-iori | https://next-auth.js.org/errors#signin_oauth_error เชื่อมต่อ ECONNREFUSED 127.0.0.1:80 {
อาเขต-iori | ข้อผิดพลาด: {
อาเขต-iori | ข้อความ: 'เชื่อมต่อ ECONNREFUSED 127.0.0.1:80',
อาเขต-iori | สแต็ก: 'ข้อผิดพลาด: เชื่อมต่อ ECONNREFUSED 127.0.0.1:80\n' +
อาเขต-iori | ' ที่ TCPConnectWrap.afterConnect [เมื่อเสร็จสมบูรณ์] (โหนด:net:1161:16)',
อาเขต-iori | ชื่อ: 'ข้อผิดพลาด'
อาเขต-iori | },
อาเขต-iori | ผู้ให้บริการ: {
อาเขต-iori | id:'เสื้อคลุม',
อาเขตพร็อกซี่ | 172.30.0.1 - - [02/Feb/2022:04:52:58 +0000] "POST /api/auth/signin/keycloak HTTP/1.1" 302 5 "http://localhost/api/auth/signin?callbackUrl =http%3A%2F%2Flocalhost%2F" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML เช่น Gecko) Chrome/97.0.4692.99 Safari/537.36" "-"
อาเขต-iori | ชื่อ: 'เสื้อคลุม'
อาเขต-iori | ที่รู้จักกันดี: 'http://localhost/auth/realms/myrealm/.well-known/openid-configuration',
อาเขต-iori | ประเภท: 'oauth',
อาเขต-iori | การอนุญาต: { พารามิเตอร์: [Object] },
อาเขต-iori | ตรวจสอบ: [ 'pkce', 'state' ],
อาเขต-iori | idToken: จริง,
อาเขต-iori | โปรไฟล์: [ฟังก์ชัน: โปรไฟล์],
อาเขต-iori | รหัสลูกค้า: 'myclientnext',
อาเขต-iori | ความลับของลูกค้า: 'a2D7ZgIFMeijlfbKOi6vZ30dhNUZhrT3',
อาเขต-iori | ผู้ออก: 'http://localhost/auth/realms/myrealm',
อาเขต-iori | signinUrl: 'http://localhost/api/auth/signin/keycloak',
อาเขต-iori | callbackUrl: 'http://localhost/api/auth/callback/keycloak'
อาเขต-iori | },
อาเขต-iori | ข้อความ: 'เชื่อมต่อ ECONREFUSED 127.0.0.1:80'
อาเขต-iori | }

นี่คือการกำหนดค่าการรับรองความถูกต้องครั้งต่อไป:

นำเข้า NextAuth จาก "การตรวจสอบสิทธิ์ครั้งต่อไป" นำเข้า KeycloakProvider จาก "next-auth/providers/keycloak";

ส่งออกค่าเริ่มต้น NextAuth({
  ความลับ: process.env.SECRET,
  ไซต์: process.env.NEXTAUTH_URL
  ผู้ให้บริการ: [
    KeycloakProvider({
      รหัสลูกค้า: 'myclientnext',
      ความลับของลูกค้า: 'a2D7ZgIFMeijlfbKOi6vZ30dhNUZhrT3',
      ผู้ออก: 'http://localhost/auth/realms/myrealm',
    })
  ]
})

นี่คือ docker-compose.yml ของฉัน:

รุ่น: '3.7'

ปริมาณ:
  keycloak_db_data:
      คนขับ: ท้องถิ่น

เครือข่าย:
  อาเขต:
    คนขับ: สะพาน

บริการ:

  keycloak-db:
    ภาพ: postgres:11.2
    container_name: อาเขต-keycloak-db
    ปริมาณ:
      - keycloak_db_data:/var/lib/postgresql/data
    สิ่งแวดล้อม:
      POSTGRES_DB: เกมอาเขต
      POSTGRES_USER: อาร์เคด
      POSTGRES_PASSWORD: อาร์เคด
    เครือข่าย:
      - อาเขต

  เสื้อคลุม:
    ภาพ: quay.io/keycloak/keycloak:16.1.0
    container_name: อาเขต-keycloak
    สิ่งแวดล้อม:
      DB_VENDOR: โพสต์เกรส
      DB_ADDR: อาเขต-keycloak-db
      DB_DATABASE: เกมอาร์เคด
      DB_USER: อาร์เคด
      DB_SCHEMA: สาธารณะ
      DB_PASSWORD: อาร์เคด
      KEYCLOAK_USER: ผู้ดูแลระบบ
      KEYCLOAK_PASSWORD: ผู้ดูแลระบบ
      PROXY_ADDRESS_FORWARDING: จริง
      # ยกเลิกการแสดงความคิดเห็นในบรรทัดด้านล่างหากคุณต้องการระบุพารามิเตอร์ JDBC พารามิเตอร์ด้านล่างเป็นเพียงตัวอย่าง และไม่ควรใช้ในการผลิตโดยปราศจากความรู้ ขอแนะนำให้คุณอ่านเอกสารประกอบของไดรเวอร์ PostgreSQL JDBC เพื่อใช้งาน
      #JDBC_PARAMS: "ssl=true"
    พอร์ต:
      - 8080:8080
    ขึ้นอยู่กับ:
      -keycloak-db
    เครือข่าย:
      - อาเขต

  อิโอริ:
    stdin_open: รัน # นักเทียบท่าจริง -i
    tty: รัน # นักเทียบท่าจริง -t
    สร้าง:
        บริบท: ../iori/
        นักเทียบท่าไฟล์: Dockerfile
    ภาพ: iori
    container_name: อาเขต-iori
    พอร์ต:
      - 3000:3000
    ปริมาณ:
      - '../iori/:/แอป'
      - '/app/node_modules'
    เครือข่าย:
      - อาเขต

  พร็อกซี:
    ภาพ: nginx
    container_name: อาเขตพร็อกซี
    รีสตาร์ท: เว้นแต่จะหยุด
    พอร์ต:
      - 80:80
    ปริมาณ:
      - ./default-proxy.conf:/etc/nginx/conf.d/default.conf:ro
    เครือข่าย:
      - อาเขต

นี่คือ default-proxy.conf:

เซิร์ฟเวอร์ {
    ฟัง 80;
    ฟัง [::]:80;
    server_name localhost;

    ตำแหน่ง /keycloak/ {
        proxy_pass http://arcade-keycloak:8080/;
        proxy_set_header โฮสต์ $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-ส่งต่อเซิร์ฟเวอร์ $host;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-Proto $scheme;
    }


    ตำแหน่ง /auth/ {
        proxy_pass http://arcade-keycloak:8080/auth/;
        proxy_set_header โฮสต์ $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-ส่งต่อ-สำหรับ $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-ส่งต่อเซิร์ฟเวอร์ $host;
        proxy_set_header X-Forwarded-Port $server_port;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    ที่ตั้ง / {

        proxy_pass http://arcade-iori:3000;
        proxy_http_version 1.1;
        proxy_set_header อัพเกรด $http_upgrade;
        proxy_set_header การเชื่อมต่อ 'อัปเกรด';
        proxy_set_header โฮสต์ $host;
        proxy_cache_bypass $http_upgrade;

    }

    error_page 500 502 503 504 /50x.html;
    ตำแหน่ง = /50x.html {
        รูท /usr/share/nginx/html;
    }
}

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา