SharePoint 2013 開發——Provider-hosted APP準備工作
後續的內容我們來一步一步開發一個SharePoint Porvider-hosted APP,本篇主要介紹一些準備工作。
SharePoint需要一系列步驟包括證書和建立唯一的客戶端ID來使用伺服器到伺服器(STS)的通訊協議。使用STS通訊協議的APP叫做高信任應用程式,因為APP允許使用使用者的訪問令牌(access token)來模擬使用者身份。STS協議是通用的通訊協議,需要臨時的access token來訪問,被微軟的應用廣泛使用,如Exchange,Lync等。本地伺服器建立的SharePoint provider-hosted app不能像雲端那樣使用上下文令牌來識別使用者身份,高信任應用程式並不是完全信任的應用程式,它必須請求安裝它的使用者來獲取許可權。
下面我們就來看看如何做:
1. 建立一個證書。
在SharePoint伺服器上開啟IIS管理器,選擇伺服器節點,雙擊伺服器證書。
點選右側選單中的建立自簽名證書。
為證書取一個好記的名稱,我們這裡叫HighTrustTest了。
點選確定之後就可以看到我們建立的證書了,右鍵點選證書選擇匯出,通常我們匯出到Visual Studio的專案資料夾目錄,這裡還沒有建立,先匯出到桌面,密碼隨便起一個,我們這裡起abc123。
證書先放這,後面會用。
2. 建立一個相應的.cer檔案。
在伺服器證書檢視中,雙擊我們之前建立的證書顯示證書明細,並選擇到詳細資訊標籤頁。
點選複製到檔案按鈕,選擇下一步,預設值下一步,重複預設值下一步,在檔名這裡,我們起作HighTrustTestCert,下一步,點選完成完成匯出。
注意:.pfx檔案必須跟Visual Studio在同一個機器,.cer檔案必須跟SharePoint 2013在同一個機器。.pfx檔案必須部署到你的Web應用程式所在Web伺服器。
3. 配置SharePoint 2013上的服務供STS應用程式使用,確保配置了應用程式管理服務和使用者配置檔案應用程式。
管理中心->應用程式管理->管理服務應用程式,確保使用者配置檔案應用程式和應用程式管理服務啟動了。管理中心->應用程式管理->伺服器上的服務,確保使用者配置檔案服務啟動了。
4. 配置SharePoint 2013以使用證書並配置對你的應用程式的信任
a. 在文字編輯器或 Windows PowerShell 編輯器中,啟動一個新檔案並向其新增下面的行以建立證書物件
$publicCertPath = "C:\HighTrustTestCert.cer"
$certificate = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($publicCertPath)
b. 新增下面的行以確保 SharePoint 將證書視為根證書頒發機構
New-SPTrustedRootAuthority -Name "HighTrustTestCert" -Certificate $certificate
c. 新增下面的行以獲取授權領域的ID
$realm = Get-SPAuthenticationRealm
d. 你的遠端 Web 應用程式將使用訪問令牌獲取對 SharePoint 資料的訪問許可權。該訪問令牌必須是由 SharePoint 信任的令牌頒發者頒發的。在高信任 SharePoint 相關應用程式 中,該證書是令牌頒發者。新增下面的行以 SharePoint 需要的格式構造頒發者 ID:specific_issuer_GUID@realm_GUID。(ID可以用Visual Studio自帶的GUID建立工具生成一個,注意要小寫)
$specificIssuerId = "ed5182f0-3090-4e83-a58b-9eb145619993"
$fullIssuerIdentifier = $specificIssuerId + '@' + $realm
e. 新增下面的行以將證書註冊為受信任的令牌頒發者。-Name 引數必須是唯一的,以便在生產配置中,通常可以使用 GUID 作為部分(或全部)名稱,但是在此上下文中,你可以使用友好名稱。需要 –IsTrustBroker 開關以確保可以為你開發的所有高信任應用程式使用相同的證書。要立即註冊令牌頒發者,需要 iisreset 命令。如果沒有該命令,你可能需要等待 24 小時才能註冊新的頒發者。
New-SPTrustedSecurityTokenIssuer -Name "High Trust Test Cert" -Certificate $certificate -RegisteredIssuerName $fullIssuerIdentifier -IsTrustBroker
iisreset
f. SharePoint 2013 通常不接受自簽名證書。因此當你使用自簽名證書進行除錯時,請新增下面的行以關閉在遠端 Web 應用程式呼叫到 SharePoint 中時使用的 HTTPS 的 SharePoint 的一般要求。如果未新增,則當遠端 Web 應用程式使用自簽名證書呼叫 SharePoint 時,你將收到"403(已禁止)"訊息。你將在之後的過程中撤銷此步驟。關閉 HTTPS 要求意味著從遠端 Web 應用程式到 SharePoint 的請求未加密,但是該證書仍然可以用作訪問令牌的受信任的頒發者,這是其在高信任 SharePoint 相關應用程式 中的主要目的。
$serviceConfig = Get-SPSecurityTokenServiceConfig
$serviceConfig.AllowOAuthOverHttp = $true
$serviceConfig.Update()
g. 使用名稱 HighTrustConfig-ForDebugOnly.ps1 儲存該檔案
h. 以管理員身份開啟"SharePoint Management Shell",然後使用下面的行執行檔案
./HighTrustConfig-ForDebugOnly.ps1
下一篇我們將用Visual Studio進行Provider-hosted APP的開發和部署。
相關文章
- SharePoint 2013 開發——開發並部署Provider-hosted APPIDEAPP
- 食品app開發之前要做的準備工作APP
- SharePoint 2013 開發——SharePoint APP介紹APP
- SharePoint 2013 開發——SharePoint Designer 2013工作流
- SharePoint 2013 開發——APP安全模型APP模型
- SharePoint 2013 開發——開發自定義操作APPAPP
- SharePoint 2013 開發——工作流架構架構
- SharePoint 2013 開發——開發並部署第一個APPAPP
- SharePoint 2013 開發——構建工作流開發環境開發環境
- SharePoint 2013 開發——APP開發的考慮和建議APP
- 小程式開發前的準備工作
- SharePoint 2013 開發——概述
- SharePoint 2013 Apps TokenHelper SharePointContext OAuth Provider-Hosted App (抄襲,測試 csc.rsp 用)APPContextOAuthIDE
- 【萬里征程——Windows App開發】開發準備WindowsAPP
- 支付寶小程式開發準備工作
- SharePoint 2013 開發——開發並部署webpartWeb
- SharePoint 2013 開發——CSOM概要
- SharePoint 2013 開發——釋出SharePoint應用程式
- APP 開發從 0 到 1(一)需求與準備APP
- Laravel 開發前準備Laravel
- 【metabase • 一】開發準備
- 前端開發-拿到一臺新電腦該準備哪些工作?前端
- [nodejs] nodejs開發個人部落格(一)準備工作NodeJS
- 準備提交appAPP
- ModelArts準備工作
- openstack 前期準備工作
- 最近準備換工作。
- 學前準備工作
- 《SharePoint 2013 應用開發實戰》目錄
- 小程式開發前的準備工作之【深入封裝Component】封裝
- 微信小程式製作開發前需要做好哪些準備工作?微信小程式
- 00 在Windows環境中開發Cordova專案的準備工作Windows
- Setting up your App domain for SharePoint 2013APPAI
- Unity開發 資源準備Unity
- 主備切換的準備工作
- kubebuilder實戰之一:準備工作kubebuilder實戰之一:準備工作UI
- (三)專案準備工作
- 自己動手開發一個Android持續整合工具-準備工作Android