当前位置: 首页 > 知识库问答 >
问题:

权限不足,无法完成操作

邹开畅
2023-03-14

我想查询用户的组。根据 https://graph.microsoft.io/en-us/docs/platform/rest 我执行以下步骤:

>

  • 获取代码

    https://login.microsoftonline.com/common/oauth2/authorize? response_type=id_token代码

    注意:提供了3个作用域(openid,Group。读.全,https://graph.microsoft.com/Group.Read.All)

    然后我登录,对我的网站的回应是:

    http://localhost:3000/auth/openid/return?
    code=<Recieved_Code>&
    id_token=<Recieved_id_Token>&
    state=xxxx&
    session_state=yyy
    
    
        POST https://login.microsoftonline.com/common/oauth2/token
        Content-Type: application/x-www-form-urlencoded
        {
              grant_type=authorization_code
              &code=Recieved_Code_from_step_1
              &redirect_uri=http%3A%2F%2Flocalhost%3A3000%2Fauth%2Fopenid%2Freturn
              &resource=https%3A%2F%2Fgraph.microsoft.com%2F
              &client\_id=
              &client\_secret=
        }
    

    这将返回JSON

    {
       "token_type":"Bearer",
       "scope":"User.Read",
       "resource":"https://graph.microsoft.com/",
       "access_token":<Access_token_in_here>,
       ... other fields
    }
    

    注意:仅限用户。返回读取范围

    我使用步骤2)中的access_token进行查询

      < li >查询用户可以:https://graph.microsoft.com/v1.0/me/ < li >查询组被禁止:https://graph.microsoft.com/v1.0/me/memberOf和get错误“权限不足,无法完成操作”

    那么为什么我请求3个作用域的权限,但只获得一个作用域权限?


  • 共有1个答案

    洪光霁
    2023-03-14

    您的请求使用v1终结点。此终结点不接受范围作为请求的一部分。使用v1,您需要在存储在Azure Active Directory中的注册记录中预先配置所需的范围。

    我建议切换到v2。这将允许您在代码中声明范围并大大简化注册过程。

     类似资料:
    • 情况: 我正在为我的应用测试Gmail API。 我已经测试了一些请求,它们工作正常。例如,获取消息、获取用户历史记录、获取草稿列表等。。 基本上所有只读请求都工作正常。 相反,我有一些与其他请求的权限相关的问题,例如当我必须编写或删除草稿时。 这是我得到的错误: 代码: 这是初始化应用程序的函数: 这是删除一份草稿的请求: 编辑: 我已尝试撤销权限并设置新凭据。初始化服务时声明的范围是: 如文件

    • 我只是因为将liquibase作为依赖项而收到了这个错误消息 原因:liquibase.exception.数据库异常: ORA-01031:权限不足[失败SQL:(1031)CREATE TABLE MYSCHMA. DATABASE CHANGELOGLOCK(ID INTEGER Not NULL, LOCKED NUMBER(1)Not NULL, LOCKGRANTED TIMESTAM

    • 我有以下规则: 所以基本上,我希望经过身份验证的用户能够读/写和集合。但当我创建一个用户并登录时,我会尝试写: 但我有一个错误: 不知道我做错了什么。任何帮助都将不胜感激——谢谢!

    • 我正试图通过他们的API修改GMail收件箱。 但我得到了一个错误: HttpError 403请求时https://www.googleapis.com/gmail/v1/users/me/labels/SOME_MESSAGE_ID返回"权限不足" 我使用了相同的OAuth凭据来下载我的消息。所以我知道这是可行的。 我检查标签范围是否可用。 我看不出我做错了什么。标签文档没有帮助。 有什么能说

    • 我刚刚在本地安装了一个Jenkins服务器,以便使用Selenium WebDrive执行一些测试。 当我执行测试时,最初的步骤执行得很好(maven调用,访问回购,...),但是当必须执行第一个selenium步骤时,我会得到这个错误: 引用了哪些权限? 我在MacOSX中从我的计算机中的主要用户执行。我看了詹金斯网站和谷歌的信息,但我可以得到任何东西。

    • 从Gmail的电子邮件附件上载到Google Drive: 朋友们大家好,如果我删除文件目录中的token.pickle和token_drive.pickle文件(这些文件是与google cloud分开创建的)并运行代码: ”ResumableUploadError: 这似乎是Gmail和Drive同时身份验证的问题,因为media\u body和file\u元数据返回一个值,但我无法解决这个问