获取访问令牌以使用客户端ID和客户端密钥以及图形API从Azure中提取用户组所需的范围

时间:2019-03-13 20:16:20

标签: azure scope azure-ad-graph-api

我正在尝试使用我的客户机密和客户ID在Azure租户中获取组。问题是我不知道获取访问令牌以使用图形api时要传递的范围。我使用https://graph.microsoft.com/.default来获取访问令牌,但这不包括拉组的权限。什么是合适的使用范围

1 个答案:

答案 0 :(得分:1)

https://docs.microsoft.com/en-us/graph/api/group-list?view=graph-rest-1.0#permissions

  

权限

     

调用此API需要下列权限之一。要了解更多信息,包括如何选择权限,请参阅权限。

     
     

权限类型权限(从最低权限到最高权限)

     

委派的(工作或学校帐户)Group.Read.All,Group.ReadWrite.All

     

应用程序 Group.Read.All,Group.ReadWrite.All

您需要在AAD中而不是在范围内配置API访问。确保您不要忘记单击“授予权限”

示例假定您需要应用程序许可。委派权限的工作方式与此类似。

enter image description here enter image description here

使用MSAL进行身份验证获取数据的示例代码:

hin_factory <- function(A,b) {
    fun <- function(x) {
        return((A %*% x) + b)
    }
    return(fun)
}

A0 <- matrix(c(1, -1,  0, 1,-1,  0, 0, 0, 0,
               1,  0, -1, 1, 0, -1, 0, 0, 0,
               0,  1, -1, 0, 1, -1, 0, 0, 0,
              -1,  1,  0, 0, 0,  0,-1, 1, 0,
               0,  1, -1, 0, 0,  0, 0, 1, -1,
               1,  0, -1, 0, 0,  0, 1, 0, -1),
             byrow=TRUE,ncol=9)

all.equal(c(hin_factory(A0,-0.01)(x0)),hin(x0))

res4 <- slsqp(x0=x0, fn=eval_factory(indices=c(4,7,9)),
              hin = hin_factory(A0,b=-0.01), heq = heq)

all.equal(res$par, res4$par)