微软!德国人! Azure云-使oauth2-proxy正常工作

时间:2019-01-28 09:34:09

标签: azure oauth

我正在尝试设置oauth2-proxy以针对Microsoft 德语 Azure云进行身份验证。这是一个很大的旅程,但是我能够进行oauth握手。但是,尝试通过图形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"
    }
  }
}

我真的很感谢关于我在这里做错什么的建议?到目前为止,文档对我并没有真正帮助。在德国的天蓝色云中,情况似乎有很大不同,但是有关此的文档却很少。天青的文档仅描述了所有网址都不同的美国云这一事实(不幸的是,从逻辑上讲并不是这样),这使事情变得更加艰辛……

最好, 马赛厄斯

1 个答案:

答案 0 :(得分:0)

问题在于个人资料网址https://graph.microsoft.de/me不正确。

https://graph.microsoft.com/me对美国云有效,而德国云则要求嵌入URL的版本如下:

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"