xbmlz / incubator-answer-plugin-connector-dingtalk

Dingtalk connector is a OAuth plug-in designed to support Dingtalk OAuth login.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dingtalk connector

Dingtalk connector is a OAuth plug-in designed to support Dingtalk OAuth login.

How to use

Build

./answer build --with github.com/xbmlz/incubator-answer-plugin-connector-dingtalk

Configuration

  • ClientID - Dingtalk OAuth client ID
  • ClientSecret - Dingtalk OAuth client secret

Authorization callback URL as https://example.com/answer/api/v1/connector/redirect/dingtalk

Dingtalk OAuth API documentation: https://open.dingtalk.com/document/orgapp-server/use-dingtalk-account-to-log-on-to-third-party-websites-1

Build docker image with plugin from answer base image

FROM apache/answer as answer-builder

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories

RUN apk --no-cache add \
    build-base git bash nodejs npm go && \
    npm install -g pnpm

RUN go env -w GOPROXY=https://goproxy.cn,direct

RUN answer build \
    --with github.com/xbmlz/incubator-answer-plugin-connector-dingtalk \
    --output /usr/bin/new_answer

FROM alpine
LABEL maintainer="linkinstar@apache.org"

ARG TIMEZONE
ENV TIMEZONE=${TIMEZONE:-"Asia/Shanghai"}

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories

RUN apk update \
    && apk --no-cache add \
        bash \
        ca-certificates \
        curl \
        dumb-init \
        gettext \
        openssh \
        sqlite \
        gnupg \
        tzdata \
    && ln -sf /usr/share/zoneinfo/${TIMEZONE} /etc/localtime \
    && echo "${TIMEZONE}" > /etc/timezone

COPY --from=answer-builder /usr/bin/new_answer /usr/bin/answer
COPY --from=answer-builder /data /data
COPY --from=answer-builder /entrypoint.sh /entrypoint.sh
RUN chmod 755 /entrypoint.sh

VOLUME /data
EXPOSE 80
ENTRYPOINT ["/entrypoint.sh"]

You can update the --with parameter to add more plugins that you need.

docker build -t answer-with-plugin .
docker run -d -p 9080:80 -v answer-data:/data --name answer answer-with-plugin

About

Dingtalk connector is a OAuth plug-in designed to support Dingtalk OAuth login.


Languages

Language:Go 100.0%