微软德语!Azure云-让oauth2代理正常工作

微软德语!Azure云-让oauth2代理正常工作,azure,oauth,oauth2-proxy,Azure,Oauth,Oauth2 Proxy,我正在尝试设置oauth2代理以针对Microsoftgermanazure云进行身份验证。这是一段相当长的旅程,但我已经尽可能地做到了oauth握手。但是,我在尝试通过graph API接收用户邮件和名称时出错 我在docker中运行代理,如下所示: docker run -it -p 8081:8081 \ --name oauth2-proxy --rm \ bitnami/oauth2-proxy:latest \ --upstream=http://lo

我正在尝试设置oauth2代理以针对Microsoftgermanazure云进行身份验证。这是一段相当长的旅程,但我已经尽可能地做到了oauth握手。但是,我在尝试通过graph API接收用户邮件和名称时出错

我在docker中运行代理,如下所示:

docker run -it  -p 8081:8081  \
    --name oauth2-proxy  --rm  \
    bitnami/oauth2-proxy:latest \
    --upstream=http://localhost:8080 \
    --provider=azure \
    --email-domain=homefully.de \
    --cookie-secret=super-secret-cookie \
    --client-id=$CLIENT_ID \
    --client-secret="$CLIENT_SECRET" \
    --http-address="0.0.0.0:8081" \
    --redirect-url="http://localhost:8081/oauth2/callback" \
    --login-url="https://login.microsoftonline.de/common/oauth2/authorize" \
    --redeem-url="https://login.microsoftonline.de/common/oauth2/token" \
    --resource="https://graph.microsoft.de" \
    --profile-url="https://graph.microsoft.de/me"
现在它遇到了配置文件url(用于检索登录用户的身份)的问题

日志输出如下所示:

2019/01/28 09:24:51 api.go:21: 400 GET https://graph.microsoft.de/me {
  "error": {
    "code": "BadRequest",
    "message": "Invalid request.",
    "innerError": {
      "request-id": "1e55a321-87c2-4b85-96db-e80b2a5af1a3",
      "date": "2019-01-28T09:24:51"
    }
  }
}
我真的很想知道我做错了什么?到目前为止,文档对我并没有真正的帮助。德国azure云的情况似乎略有不同,但这方面的文档非常少。azure文档只描述所有URL都不同的美国云(不幸的是,不是在逻辑意义上)这一事实让事情变得更加困难

最好的,
Matthias

问题在于配置文件url
https://graph.microsoft.de/me
不正确

https://graph.microsoft.com/me
适用于美国云,德国云要求URL中嵌入以下版本:

docker run -it  -p 8081:8081  \
    --name oauth2-proxy  --rm  \
    bitnami/oauth2-proxy:latest \
    --upstream=http://localhost:8080 \
    --provider=azure \
    --email-domain=homefully.de \
    --cookie-secret=super-secret-cookie \
    --client-id=$CLIENT_ID \
    --client-secret="$CLIENT_SECRET" \
    --http-address="0.0.0.0:8081" \
    --redirect-url="http://localhost:8081/oauth2/callback" \
    --login-url="https://login.microsoftonline.de/common/oauth2/authorize" \
    --redeem-url="https://login.microsoftonline.de/common/oauth2/token" \
    --resource="https://graph.microsoft.de" \
    --profile-url="https://graph.microsoft.de/me"
https://graph.microsoft.de/v1.0/me

这对我很有用:

docker run -it  -p 8081:8081  \
    --name oauth2-proxy  --rm  \
    bitnami/oauth2-proxy:latest \
    --upstream=http://localhost:8080 \
    --provider=azure \
    --email-domain=homefully.de \
    --cookie-secret=super-secret-cookie \
    --client-id=$CLIENT_ID \
    --client-secret="$CLIENT_SECRET" \
    --http-address="0.0.0.0:8081" \
    --redirect-url="http://localhost:8081/oauth2/callback" \
    --login-url="https://login.microsoftonline.de/common/oauth2/authorize" \
    --redeem-url="https://login.microsoftonline.de/common/oauth2/token" \
    --resource="https://graph.microsoft.de" \
    --profile-url="https://graph.microsoft.de/v1.0/me"