• 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的开发和部署。

    更多信息

    
  • 相关阅读:
    Activemq安装
    Python小代码_12_生成前 n 行杨辉三角
    Python小代码_11_生成小于 n 的裴波那契数列
    Python小代码_10_判断是否为素数
    Python小代码_9_求水仙花数
    Python小代码_8_今天是今年的第几天
    Python小代码_7_字符串的字符次数统计
    Python小代码_6_列表推导式求 100 以内的所有素数
    Python小代码_5_二维矩阵转置
    关于列表元素的删除
  • 原文地址:https://www.cnblogs.com/justinliu/p/5961616.html
Copyright © 2020-2023  润新知