<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      docker部署基于keycloak服務(wù)認(rèn)證的outline

      之前一篇博文介紹到通過outline的部署,全程使用github上這個腳本實(shí)現(xiàn),部署過程自動化程度高。但OIDC服務(wù)不支持OTP,同時沒有會話超時于是決定更換OIDC服務(wù),在原項(xiàng)目上修改比較麻煩本博文介紹如何單獨(dú)部署keycloak OIDC服務(wù)器和outline

      部署過程分二步

      • 部署keycloak OIDC服務(wù)器
      • 部署outline

      一、keycloak OIDC部署

      1.創(chuàng)建keycloak文件夾,新建文件docker-compose.yaml

      services:
        keycloak-db:
            container_name: keycloak-db
            image: postgres:15
            restart: always
            volumes:
              - ./data/keycloak-db/:/var/lib/postgresql/data
              - /etc/localtime:/etc/localtime:ro
            environment:
              POSTGRES_DB: keycloak
              POSTGRES_USER: keycloak
              POSTGRES_PASSWORD: 123456.com
            healthcheck:
              test: [ "CMD", "pg_isready", "-q", "-d", "keycloak", "-U", "keycloak" ]
              interval: 10s
              timeout: 5s
              retries: 3
              start_period: 60s
          #   ports:
              # - 5432:5432
            networks:
              - keycloak-nw
      
        keycloak:
            container_name: keycloak
            image: quay.io/keycloak/keycloak:26.3.3
            restart: always
            environment:
              KC_DB: postgres
              KC_DB_URL: jdbc:postgresql://keycloak-db:5432/keycloak
              KC_DB_USER: keycloak
              KC_DB_SCHEMA: public
              KC_DB_PASSWORD: 123456.com
              KEYCLOAK_ADMIN: ID404
              KEYCLOAK_ADMIN_PASSWORD: 123456.com
            volumes:
              - /etc/localtime:/etc/localtime:ro
            ports:
              - 4430:8080
            depends_on:
              - keycloak-db
            networks:
              - reverseproxy-nw
              - keycloak-nw
            command:
              - start
              #- --spi-login-protocol-openid-connect-legacy-logout-redirect-uri=true
              - --proxy-headers=xforwarded
              - --http-enabled=true
              - --hostname=https://wiki.fly-one.cn/keycloak
              - --hostname-backchannel-dynamic=false
              - --hostname-admin=https://wiki.fly-one.cn/keycloak
            #command: start --spi-login-protocol-openid-connect-legacy-logout-redirect-uri=true  --proxy edge  --hostname http://wiki.test.cn:4430/ --hostname-backchannel-dynamic false --hostname-admin http://wiki.test.cn:4430
      
      
      networks:
          keycloak-nw:
          reverseproxy-nw:
              external: true
      

      替換docker-compose.yaml文件中域名wiki.test.cn自己的域名

      執(zhí)行docker network create reverseproxy-nw 創(chuàng)建docker 網(wǎng)絡(luò)

      2.執(zhí)行docker compose up -d 運(yùn)行keycloak

      3.登錄http://wiki.test.cn:4430/ ,進(jìn)入administratoration Console

      1.1 添加client

      注意Valid redirect URIs 內(nèi)容為http://wiki.test.cn/auth/oidc.callback 也可以寫成http://wiki.test.cn/*

      保存后進(jìn)入outline 的Credentials 查看并記錄下client Secret

      1.2 添加用戶

      進(jìn)入 Users-->Add user
      注意需要填寫好郵箱,郵件需要和前面的域名一致,如XXX@test.cn ,否則outline無法登錄。若需要二步驗(yàn)證可在Required user actions選擇OTP

      給用戶添加密碼

      二、outline部署

      配置修改

      • 創(chuàng)建outline文件夾,新建.env文件。 文件內(nèi)容如下
      #secrets/passwords
      #Gen by 'openssl rand -hex 32`
      SECRET_KEY=e65a91c3e21ab302ba213b642cafff79686ead5ecc7bf57a0301a0c811df94cd
      UTILS_SECRET=738c832f466050226896f78b6c3579722218866c458ba6c7eaad2f36ec59abc5
      
      
      MINIO_ROOT_PASSWORD=
      POSTGRES_PASSWORD=
      
      #domains
      
      URL=http://wiki.test.cn
      CDN_URL=http://wiki.test.cn
      
      ENABLE_UPDATES=true
      DEBUG=cache,presenters,events,emails,mailer,utils,multiplayer,server,services
      AWS_S3_ACL=private
      
      LANGUAGE_CODE=en-us
      TIME_ZONE=Asia/Shanghai
      
      # See translate.getoutline.com for a list of available language codes and their
      # percentage translated.
      DEFAULT_LANGUAGE=zh_CN
      
      # Specify what storage system to use. Possible value is one of "s3" or "local".
      # For "local", the avatar images and document attachments will be saved on local disk.
      FILE_STORAGE=local
      
      # If "local" is configured for FILE_STORAGE above, then this sets the parent directory under
      # which all attachments/images go. Make sure that the process has permissions to create
      # this path and also to write files to it.
      FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data
      
      # Maximum allowed size for the uploaded attachment.
      FILE_STORAGE_UPLOAD_MAX_SIZE=26214400
      FILE_STORAGE_IMPORT_MAX_SIZE=26214400
      FILE_STORAGE_WORKSPACE_IMPORT_MAX_SIZ6=26214400
      MAXIMUM_IMPORT_SIZE=26214400
      
      PGSSLMODE=disable
      #ALLOWED_DOMAINS=
      FORCE_HTTPS=false
      #oidc information
      OIDC_CLIENT_ID=outline
      OIDC_CLIENT_SECRET=D8t8KFH6K127GCPW02PvAlbPc2Fo5zp4
      OIDC_AUTH_URI=http://wiki.test.cn:4430/realms/master/protocol/openid-connect/auth
      OIDC_TOKEN_URI=http://wiki.test.cn:4430/realms/master/protocol/openid-connect/token
      OIDC_USERINFO_URI=http://wiki.test.cn:4430/realms/master/protocol/openid-connect/userinfo
      #OIDC_LOGOUT_URI=http://wiki.test.cn:4430/realms/master/protocol/openid-connect/logout?redirect_uri=http%3A%2F%2Fwiki.test.cn%2F
      OIDC_LOGOUT_URI=http://wiki.test.cn:4430/realms/master/protocol/openid-connect/logout?client_id=outline&post_logout_redirect_uri=http%3A%2F%2Fwiki.test.cn%2F
      OIDC_DISABLE_REDIRECT=true
      
      OIDC_DISPLAY_NAME=OpenID
      OIDC_USERNAME_CLAIM=preferred_username
      OIDC_SCOPES=openid profile email
      #smtp information
      SMTP_HOST=
      SMTP_PORT=
      SMTP_FROM_EMAIL=
      SMTP_REPLY_EMAIL=
      SMTP_SECURE=
      

      替換wiki.test.cn域名為你自己的域名

      • 修改.env文件中OIDC信息

      替換OIDC_CLIENT_SECRET 為1.1中生成的client Secret

      啟動outline

      創(chuàng)建docker-compose.yaml文件,文件內(nèi)容如下:

      services:
        outline_redis:
          image: redis
          restart: always
          container_name: outline_redis
          networks:
            - outline-internal
      
        outline_postgres:
          image: postgres:15
          restart: always
          container_name: outline_postgres
          security_opt:
            - label:disable
          environment:
            - POSTGRES_PASSWORD=0da68aed6bd2f275749d8750
            - POSTGRES_USER=outline
            - POSTGRES_DB=outline
          networks:
            - outline-internal
          volumes:
            - ./data/outline/db:/var/lib/postgresql/data
            - /etc/localtime:/etc/localtime:ro
      
        outline:
          image: outlinewiki/outline:0.77.1
          user: root
          restart: always
          container_name: outline
          command: sh -c "yarn start --env=production-ssl-disabled"
          environment:
            - DATABASE_URL=postgres://outline:0da68aed6bd2f275749d8750@outline_postgres:5432/outline
            - DATABASE_URL_TEST=postgres://outline:0da68aed6bd2f275749d8750@outline_postgres:5432/outline-test
            - REDIS_URL=redis://outline_redis:6379
          depends_on:
            - outline_postgres
            - outline_redis
          volumes:
            - ./data/outline/file:/var/lib/outline/data
            - /etc/localtime:/etc/localtime:ro
          env_file:
            - .env
          ports:
            - 80:3000
          networks:
            - outline-internal
            - reverseproxy-nw
      networks:
        outline-internal:
        reverseproxy-nw:
          external: true
      

      執(zhí)行 docker compose up -d 啟動outline

      三、遇到的問題

      3.1用戶修改密碼

      用戶可自行可登錄 http://wiki.test.cn:4430/admin/outline/console 修改

      3.2 用戶管理界面點(diǎn)擊Manage account 時提示failed to initialize keycloak

      分別在master、outline中 client\account-console 選項(xiàng)web origin輸入+


      參考:
      鏈接1
      鏈接2

      3.3 退出outline及會話超時

      當(dāng)退出outline后,重新登錄不需要重新輸入賬號密碼,這是由于退出outline退出信息沒有同步至keycloak。用戶信息在keycloak還是登錄狀態(tài)的所以不需要重新認(rèn)證。這似乎是一個bug,在outline的Issuse兩年前已經(jīng)有人提及了但一直沒有處理好,在Issuse中有人提及其實(shí)outline提供OIDC_LOGIN_LOGOUT_URI信息給OIDC服務(wù)器既可,但outline開發(fā)從員似乎一直沒有處理。

      目前規(guī)避的方式是在keycloak中設(shè)置session timeout

      在keylocak管理控制臺--realm setting--token--sso session idle 設(shè)置超時時間

      參考 鏈接


      四、 更新

      4.1 2024-02-22更新

      昨天發(fā)現(xiàn)的outline 0.75.1版本新增支持OIDC_LOGOUT_URI參數(shù)

      .env文件添加參數(shù) OIDC_LOGOUT_URI=http://wiki.test.cn:4430/realms/admin/protocol/openid-connect/logout?redirect_uri=http%3A%2F%2Fwiki.test.cn%2F

      同時調(diào)整 keycloak 的docker compose文件,command部分添加參數(shù)--spi-login-protocol-openid-connect-legacy-logout-redirect-uri=true

      修改后如下

      command: start --spi-login-protocol-openid-connect-legacy-logout-redirect-uri=true  --proxy edge  --hostname=wiki.test.cn --hostname-port=4430 --hostname-strict-backchannel=true --hostname-admin-url=http://wiki.test.cn:4430/
      

      參考:
      鏈接1
      鏈接2
      鏈接3
      鏈接4

      4.2 2024-06-17 更新

      keycloak 升級至25.0.0后,原h(huán)ostname v1的配置方式已不適用,需更改。 keycloak 的docker compose 文件,command部分參數(shù)修改如下 :

      command: start --spi-login-protocol-openid-connect-legacy-logout-redirect-uri=true  --proxy edge  --hostname https://wiki.test.cn:4430/ --hostname-backchannel-dynamic false --hostname-admin https://wiki.test.cn:4430
      
      posted @ 2024-02-02 15:43  id404  閱讀(2805)  評論(3)    收藏  舉報
      主站蜘蛛池模板: 国产精品国产三级国快看| 又爽又黄又无遮掩的免费视频| 香蕉av777xxx色综合一区| 国产午夜精品久久一二区| 人妻少妇精品视频专区| 甘南县| 色欲AV无码一区二区人妻| 亚洲中文字幕第一页在线| 国产又色又爽又黄的视频在线| 亚洲综合国产精品第一页| 国产成人欧美一区二区三区 | 精品无码国产日韩制服丝袜| 动漫精品专区一区二区三区| 国产亚洲亚洲国产一二区| 午夜福利国产精品视频| 欧美交a欧美精品喷水| 在线无码免费的毛片视频| 肥大bbwbbw高潮抽搐| 国产精品无码a∨麻豆| 亚洲午夜无码久久久久蜜臀av| 亚洲中文字幕在线二页| 色综合夜夜嗨亚洲一二区| 国产精品久久久久鬼色| 日韩午夜福利视频在线观看| 白丝乳交内射一二三区| 国产精品欧美福利久久| 少妇熟女天堂网av| 国产亚洲无线码一区二区| 国产成人高清精品免费软件| 久草热8精品视频在线观看| 综合图区亚洲另类偷窥| 国产V日韩V亚洲欧美久久| 中文字幕av日韩有码| 国产精品一区二区色综合| 国产精品欧美一区二区三区不卡| 亚洲国产制服丝袜高清在线 | 宝鸡市| 久久伊99综合婷婷久久伊| 艳妇臀荡乳欲伦交换在线播放| 国产成人午夜在线视频极速观看| 妺妺窝人体色www看美女|