使用SharePoint App-Only获得访问权限

系统结
• 阅读 755

目前在开发SharePoint Online的过程中,主要使用通过Azure AD的方式获得应用的访问权限,但是SharePoint App-Only的方式依旧被保留了。使用这种方式进行CSOM开发比使用Azure AD相对要简单,因为使用Azure AD的方式,需要发布自签名证书,相应的代码也会复杂一些。但是需要注意的是,使用App-Only的方式是无法创建modern site的。

使用App-Only的方式,首先要访问 https://your-domain.sharepoint.com/_layouts/15/appregnew.aspx
使用SharePoint App-Only获得访问权限
点击生成客户端和客户端密钥,填入应用的标题、链接和重定向url。创建成功后,记录下客户端ID和密钥。
使用SharePoint App-Only获得访问权限
然后访问https://yourdomain-admin.sharepoint.com/_layouts/15/appinv.aspx, 点击查询得到应用的相关信息。然后复制下面的XML到页面的权限请求XML里面。也可以修改相应的权限,获得不同的权限。然后点击创建。

<AppPermissionRequests AllowAppOnlyPolicy="true">
  <AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="FullControl" />
</AppPermissionRequests>

使用SharePoint App-Only获得访问权限
然后选择信任。
使用SharePoint App-Only获得访问权限
整个注册App-Only的流程就结束了,可以用下面的方法,使用申请到的ID和密钥获得访问权限。

AuthenticationManager().GetAppOnlyAuthenticatedContext(targetSiteUrl, appOnlyId, appOnlySecret
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
3年前
java程序中获取kerberos登陆hadoop
本文由作者周梁伟授权网易云社区发布。一般我们在使用kbs登陆hadoop服务时都直接在shell中调用kinit命令来获取凭证,这种方式简单直接,只要获取一次凭证之后都可以在该会话过程中重复访问。但是这种方式一个明显的问题就是如果在本次shell中会间隔调用不同的java程序,而这些程序需要访问不同权限的问题,需要在访问前调用各自的ktab文件获
Wesley13 Wesley13
3年前
Ubuntu 开发环境搭建
ubuntu安装jdk的两种方式:1:通过ppa(源)方式安装.2:通过官网下载安装包安装.这里推荐第1种,因为可以通过aptgetupgrade方式方便获得jdk的升级使用ppa/源方式安装1.添加ppasudoaddaptrepos
Easter79 Easter79
3年前
SpringBoot使用assembly进行项目打包教程1
一、基本介绍1.部署方式介绍目前来说,SpringBoot项目有如下两种常见的部署方式:一种是使用docker容器去部署。将SpringBoot的应用构建成一个dockerimage,然后通过容器去启动镜像,这种方式在需要部署大规模的应用、以及应用扩展时是非常方便的,属于目前工业级的部署方案,但是需要掌握
Stella981 Stella981
3年前
Netty之缓冲区ByteBuf解读(一)
!(https://oscimg.oschina.net/oscnet/up6de4d71f462d9846befe00ec6505125a928.JPEG)\Netty在数据传输过程中,会使用缓冲区设计来提高传输效率。虽然,Java在NIO编程中已提供ByteBuffer类进行使用,但是在使用过程中,其编码方式相对来说不太友好,也
Stella981 Stella981
3年前
GitHub Actions
使用GitHubActions发布版本时,获取触发的tag作为发布的版本号.方式一通过step获取tag,在需要使用的地方使用steps.get_version.outputs.VERSION,其中get_version是step的id.name:Release
Easter79 Easter79
3年前
Springboot基于assembly的服务化打包方案
  在使用assembly来打包springboot微服务项目前,我想说一说,目前springboot项目的几种常见的部署方式。1. 使用docker容器去部署,将springboot的应用构建成一个dockerimage,然后通过容器去启动镜像,这种方式在需要部署大规模的应用和应用扩展时是非常方便的,属于目前工业级的部署方案,但是需要掌握d
Stella981 Stella981
3年前
SpringBoot使用assembly进行项目打包教程1
一、基本介绍1.部署方式介绍目前来说,SpringBoot项目有如下两种常见的部署方式:一种是使用docker容器去部署。将SpringBoot的应用构建成一个dockerimage,然后通过容器去启动镜像,这种方式在需要部署大规模的应用、以及应用扩展时是非常方便的,属于目前工业级的部署方案,但是需要掌握
Stella981 Stella981
3年前
SpringBoot简介
SpringBoot是由Pivotal团队提供的微服务整合框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,SpringBoot致力于在蓬勃发展的快速应用开发领域(rapidapplicationdevelopment)成为领导者。简单来说Sp
Wesley13 Wesley13
3年前
MySQL 8.0.11 中使用 grant ... identified by 时 error 1064 near 'identified by '密码'' a...
(1)问题:当使用 grant权限列表on数据库to'用户名'@'访问主机'identifiedby'密码';时会出现"......near'identifiedby'密码''atline1"这个错误(2)原因:因为新版的的mysql版本已经将创建账户和赋予权限的方式分开了
使用mybatis切片实现数据权限控制
一、使用方式数据权限控制需要对查询出的数据进行筛选,对业务入侵最少的方式就是利用mybatis或者数据库连接池的切片对已有业务的sql进行修改。切片逻辑完成后,仅需要在业务中加入少量标记代码,就可以实现对数据权限的控制。这种修改方式,对老业务的逻辑没有入侵
京东云开发者 京东云开发者
3个月前
使用mybatis切片实现数据权限控制
作者:京东科技李俊龙一、使用方式数据权限控制需要对查询出的数据进行筛选,对业务入侵最少的方式就是利用mybatis或者数据库连接池的切片对已有业务的sql进行修改。切片逻辑完成后,仅需要在业务中加入少量标记代码,就可以实现对数据权限的控制。这种修改方式,对