美文网首页
使用Client ID和Secret的SharePoint OA

使用Client ID和Secret的SharePoint OA

作者: 达哥傻乐 | 来源:发表于2019-10-24 11:01 被阅读0次

SharePoint OAuth可以让用户使用Token代替用户名和密码来访问站点内容而不需要公开自己的登录凭据。
SharePoint App必须能有特定的客户端ID和客户端Secret,可以使用SharePoint站点管理控制台或者PowerShell来创建并分配给App。每一个App必须关联起码一个客户端ID。

  • 打开下面的链接来创建Client ID和Client Secret:
    http://{sharepointsite}/_layouts/15/AppRegNew.aspx
    举例:
    https://sharepoint.local/_layouts/15/AppRegNew.aspx
    打开的默认界面
    Client ID:这是个GUID。直接点右边的生成Generate按钮可以生成一个。
    Client Secret:这是跟Client ID配合的密码,保存的时候需要注意保密。可以直接点右边的生成Generate按钮生成一个。
    Title:将显示在App信任屏幕的标题,得取一个用户友好的标题。
    App Domain:App远程服务器主机名,注意如果HTTPS不是使用的443端口,需要在域名后带上HTTPS端口号。
    Redirect URI:重定向URI,远程App发送ACS身份验证码的端点。

用AppRegNew.aspx创建的Client Secret在创建满一年后会过期。我们可以使用PowerShell更新Client Secret。也可以将这个有效期增长到最大3年。最新更新的Client Secret的生效可能需要24小时,所以更新Client Secret的操作最好在过期前24小时进行。如果Client Secret过期了,App会返回错误“远程服务器返回错误:(401)未经授权。The remote server returned an error: (401) Unauthorized.”。

  • 通过下面的链接查看所有的App
    https://{sharepointsite}/_layouts/15/AppPrincipals.aspx

  • 通过下面的链接查看App的详情和分配的权限
    https://{sharepointsite}/_layouts/15/Appinv.aspx

  • 更新Client Secret

import-module MSOnline
 Connect-MsolService (provide the tenant administrator username and password)
 Store the client id in a variable
 $clientId="358658dc-f04b-4c37-a260-2227eb51dde1"
 
 Generate a key with default expiration (one year). 
 $bytes = New-Object Byte[] 32
 $rand = [System.Security.Cryptography.RandomNumberGenerator]::Create()
 $rand.GetBytes($bytes)
 $rand.Dispose()
 $newClientSecret = [System.Convert]::ToBase64String($bytes)
 New-MsolServicePrincipalCredential -AppPrincipalId $clientId -Type Symmetric -Usage Sign -Value $newClientSecret
 New-MsolServicePrincipalCredential -AppPrincipalId $clientId -Type Symmetric -Usage Verify -Value $newClientSecret
 New-MsolServicePrincipalCredential -AppPrincipalId $clientId -Type Password -Usage Verify -Value $newClientSecret
 $newClientSecret
 
 Generate the client secret with three years expiration. 
    Includinh–EndDateparameter parameter on the three calls of the New-MsolServicePrincipalCredential cmdlet
 $bytes = New-Object Byte[] 32
 $rand = [System.Security.Cryptography.RandomNumberGenerator]::Create()
 $rand.GetBytes($bytes)
 $rand.Dispose()
 $newClientSecret = [System.Convert]::ToBase64String($bytes)
 $dtStart = [System.DateTime]::Now
 $dtEnd = $dtStart.AddYears(3)
 New-MsolServicePrincipalCredential -AppPrincipalId $clientId -Type Symmetric -Usage Sign -Value $newClientSecret -StartDate $dtStart  –EndDate $dtEnd
 New-MsolServicePrincipalCredential -AppPrincipalId $clientId -Type Symmetric -Usage Verify -Value $newClientSecret   -StartDate $dtStart  –EndDate $dtEnd
 New-MsolServicePrincipalCredential -AppPrincipalId $clientId -Type Password -Usage Verify -Value $newClientSecret   -StartDate $dtStart  –EndDate $dtEnd
 $newClientSecret

在app.config/web.config中更新新的Client Secret:

<add key="ClientId" value="your client id here" />
<add key="ClientSecret" value="your new secret here" />
<add key="SecondaryClientSecret" value="your old secret here" />

Thanks to:

Krishna KV: SharePoint OAuth using Client ID and Secret

达叔傻乐(darwin.zuo@163.com)

相关文章

  • 使用Client ID和Secret的SharePoint OA

    SharePoint OAuth可以让用户使用Token代替用户名和密码来访问站点内容而不需要公开自己的登录凭据。...

  • 验证谷歌支付参数---refersh-token过期

    1.在谷歌端 获取到client_id 与client_secret 谷歌开发者中心获取https://conso...

  • Client Secret

    首先准备材料 下载key文件后要注意保留下来,只能下载唯一一次 现在有这些东西就可以开始配置client_secr...

  • API Token

    API: 获取token 1:定义 ID 和Secret 比较地址栏中input(get.ID)和input(ge...

  • 云主机AK/SK泄露利用

    AK/SK认证 云主机通过使用Access Key Id / Secret Access Key加密的方法来验证某...

  • Java虚拟机常见参数

    目前的Java虚拟机支持client和server模式,使用参数-client可以指定使用client模式,使用参...

  • 10分钟精通SharePoint - 发展历程

    SharePoint 2001: SharePoint Team Service(STS) SharePoint ...

  • Rstudio读取sharepoint文档

    参考 将 SharePoint 和 Teams 文件与计算机同步 - onedrive使用方法 (onedrive...

  • 微信告警推送

    1.创建企业微信,新建应用,获取企业id,应用secret和id 确认已创建告警组用户的账号,企业CorpID和创...

  • 微信报警

    企业微信准备:Agentld + Secret + 企业ID号 + 部门ID python监控脚本: 有...

网友评论

      本文标题:使用Client ID和Secret的SharePoint OA

      本文链接:https://www.haomeiwen.com/subject/khcrvctx.html