Configurar OAuth entre Skype Empresarial Online y Exchange localConfigure OAuth between Skype for Business Online and Exchange on premises

Configuración de OAuth autenticación entre Exchange local y Skype para profesionales en línea permite la Skype para características empresariales y de integración de Exchange que se describen en función de soporte técnico.Configuring OAuth authentication between Exchange on premises and Skype for Business Online enables the Skype for Business and Exchange Integration features described in Feature support.

En este tema se aplica a Exchange Server 2016 y Exchange Server 2013.This topic applies to Exchange Server 2016 and Exchange Server 2013.

¿Qué necesita saber antes de empezar?What do you need to know before you begin?

Configurar la autenticación OAuth entre su Exchange local y organizaciones de Skype EmpresarialConfigure OAuth authentication between your on-premises Exchange and Skype for Business organizations

Paso 1: Crear un objeto de servidor de autorización para su organización de Skype Empresarial OnlineStep 1: Create an authorization server object for your Skype for Business Online organization

Especifique un dominio comprobado su Skype para la organización en línea de negocio.Specify a verified domain for your Skype for Business Online organization. Este dominio debería ser el mismo que el dominio de SIP principal que se usa para las cuentas basadas en la nube.This domain should be the same domain used as the primary SIP domain used for the cloud-based accounts. Este dominio se conoce como <su dominio comprobado> en el siguiente procedimiento.This domain is referred as <your Verified Domain> in the following procedure.

Ejecute el siguiente comando en el Shell de administración de Exchange (Exchange PowerShell) en sus instalaciones de organización de Exchange.Run the following command in the Exchange Management Shell (the Exchange PowerShell) in your on-premises Exchange organization.

New-AuthServer -Name "WindowsAzureACS" -AuthMetadataUrl "https://accounts.accesscontrol.windows.net/<your Verified Domain>/metadata/json/1" 

Paso 2: Habilitar la aplicación de socio para su organización de Skype Empresarial OnlineStep 2: Enable the partner application for your Skype for Business Online organization

Ejecute el siguiente comando en Exchange PowerShell en sus instalaciones de organización de Exchange.Run the following command in the Exchange PowerShell in your on-premises Exchange organization.

Get-PartnerApplication | ?{$_.ApplicationIdentifier -eq "00000002-0000-0ff1-ce00-000000000000" -and $_.Realm -eq ""} | Set-PartnerApplication -Enabled $true

Paso 3: Crear una cuenta de usuario de correo para la aplicación de socio de Skype Empresarial OnlineStep 3: Create a new Mail User account for the Skype for Business Online Partner Application

Este paso se realiza localmente. Creará un usuario de correo y le asignará los derechos de roles de administración apropiados. Esta cuenta se usará en el siguiente paso.This step is done on-premises. It will create a mail user and assign it the appropriate management role rights. This account will then be used in the next step.

Especifique un dominio comprobado para la organización de Exchange.Specify a verified domain for your Exchange organization. Este dominio debe ser el mismo dominio que se utiliza como el dominio SMTP principal que se utiliza para las cuentas de Exchange local.This domain should be the same domain used as the primary SMTP domain used for the on-premises Exchange accounts. Este dominio se conoce como <su dominio comprobado> en el siguiente procedimiento.This domain is referred as <your Verified Domain> in the following procedure. Además, el <DomainControllerFQDN> debe ser el FQDN de un controlador de dominio.Also, the <DomainControllerFQDN> should be the FQDN of a domain controller.

$user = New-MailUser -Name SfBOnline-ApplicationAccount -ExternalEmailAddress SfBOnline-ApplicationAccount@<your Verified Domain> -DomainController <DomainControllerFQDN> 

Este comando ocultará al nuevo usuario de correo de las listas de direcciones.This command will hide the new mail user from address lists.

Set-MailUser -Identity $user.Identity -HiddenFromAddressListsEnabled $True -DomainController <DomainControllerFQDN> 

Los dos comandos siguientes asignarán los roles de administración UserApplication y ArchiveApplication a esta nueva cuenta.These next two commands will assign the UserApplication and ArchiveApplication management role to this new account.

New-ManagementRoleAssignment -Role UserApplication -User $user.Identity -DomainController <DomainControllerFQDN> 
New-ManagementRoleAssignment -Role ArchiveApplication -User $user.Identity -DomainController <DomainControllerFQDN> 

Paso 4: Crear y habilitar una aplicación de socio para Skype Empresarial OnlineStep 4: Create and enable a Partner Application for Skype for Business Online

Cree una aplicación de socio y use la cuenta que acaba de crear.Create a new partner application and will use the account you just created. Ejecute el siguiente comando en Exchange PowerShell en sus instalaciones de organización de Exchange.Run the following command in the Exchange PowerShell in your on-premises Exchange organization.

New-PartnerApplication -Name SfBOnline -ApplicationIdentifier 00000004-0000-0ff1-ce00-000000000000 -Enabled $True -LinkedAccount $user.Identity

Paso 5: Exportar el certificado de autorización localStep 5: Export the on-premises authorization certificate

Ejecutar un script de PowerShell para exportar el certificado de autorización local, que se va a importar a su Skype para la organización en línea de negocio en el paso siguiente.Run a PowerShell script to export the on-premises authorization certificate, which you will import to your Skype for Business Online organization in the next step.

Save the following text to a PowerShell script file named, for example, ExportAuthCert.ps1.Save the following text to a PowerShell script file named, for example, ExportAuthCert.ps1.

$thumbprint = (Get-AuthConfig).CurrentCertificateThumbprint 
if((test-path $env:SYSTEMDRIVE\OAuthConfig) -eq $false) 
{ 
md $env:SYSTEMDRIVE\OAuthConfig 
} 
cd $env:SYSTEMDRIVE\OAuthConfig 
$oAuthCert = (dir Cert:\LocalMachine\My) | where {$_.Thumbprint -match $thumbprint} 
$certType = [System.Security.Cryptography.X509Certificates.X509ContentType]::Cert 
$certBytes = $oAuthCert.Export($certType) 
$CertFile = "$env:SYSTEMDRIVE\OAuthConfig\OAuthCert.cer" 
[System.IO.File]::WriteAllBytes($CertFile, $certBytes) 

En Exchange PowerShell en la organización de Exchange local, ejecute el script de PowerShell que acaba de crear.In Exchange PowerShell in your on-premises Exchange organization, run the PowerShell script that you just created. Por ejemplo:.\ExportAuthCert.ps1For example: .\ExportAuthCert.ps1

Paso 6: Cargar el certificado de autorización local a Azure Active Directory ACSStep 6: Upload the on-premises authorization certificate to Azure Active Directory ACS

A continuación, use Windows PowerShell para cargar el certificado de autorización local que exportó en el paso anterior a Azure Active Directory Access Control Services (ACS).Next, use Windows PowerShell to upload the on-premises authorization certificate that you exported in the previous step to Azure Active Directory Access Control Services (ACS). Para ello, debe tener instalado el módulo de Azure Active Directory para cmdlets de Windows PowerShell.To do this, the Azure Active Directory Module for Windows PowerShell cmdlets must already be installed. Si no está instalada, vaya a https://aka.ms/aadposh para instalar Azure Active Directory módulo para Windows PowerShell.If it's not installed, go to https://aka.ms/aadposh to install the Azure Active Directory Module for Windows PowerShell. Complete los siguientes pasos después de instalar el módulo de Azure Active Directory para Windows PowerShell.Complete the following steps after the Azure Active Directory Module for Windows PowerShell is installed.

  1. Haga clic en el acceso directo Módulo de Azure Active Directory para Windows PowerShell para abrir un área de trabajo de Windows PowerShell con los cmdlets de Azure AD instalados. Todos los comandos de este paso se ejecutarán con la consola de Windows PowerShell para Azure Active Directory.Click the Azure Active Directory Module for Windows PowerShell shortcut to open a Windows PowerShell workspace that has the Azure AD cmdlets installed. All commands in this step will be run using the Windows PowerShell for Azure Active Directory console.

  2. Guarde el siguiente texto en un archivo de secuencia de comandos de PowerShell llamado, por ejemplo, UploadAuthCert.ps1.Save the following text to a PowerShell script file named, for example, UploadAuthCert.ps1.

    Connect-MsolService; 
    Import-Module msonlineextended; 
    $CertFile = "$env:SYSTEMDRIVE\OAuthConfig\OAuthCert.cer" 
    $objFSO = New-Object -ComObject Scripting.FileSystemObject; 
    $CertFile = $objFSO.GetAbsolutePathName($CertFile); 
    $cer = New-Object System.Security.Cryptography.X509Certificates.X509Certificate 
    $cer.Import($CertFile); 
    $binCert = $cer.GetRawCertData(); 
    $credValue = [System.Convert]::ToBase64String($binCert); 
    $ServiceName = "00000002-0000-0ff1-ce00-000000000000"; 
    $p = Get-MsolServicePrincipal -ServicePrincipalName $ServiceName 
    New-MsolServicePrincipalCredential -AppPrincipalId $p.AppPrincipalId -Type asymmetric -Usage Verify -Value $credValue 
    
  3. Ejecute el script de PowerShell que creó en el paso anterior.Run the PowerShell script that you created in the previous step. Por ejemplo:.\UploadAuthCert.ps1For example: .\UploadAuthCert.ps1

  4. Después de iniciar el script, se mostrará un cuadro de diálogo de credenciales. Escriba las credenciales para la cuenta de administrador del inquilino de su organización de Microsoft Online Azure AD. Después de ejecutar el script, deje la sesión de Windows PowerShell para Azure AD abierta. La usará para ejecutar un script de PowerShell en el siguiente paso.After you start the script, a credentials dialog box is displayed. Enter the credentials for the tenant administrator account of your Microsoft Online Azure AD organization. After running the script, leave the Windows PowerShell for Azure AD session open. You will use this to run a PowerShell script in the next step.

Paso 7: Registrar las autoridades del nombre de host para el dominio de SMTPStep 7: Register the hostname authorities for the SMTP domain

Especifique un dominio comprobado para la organización de Exchange.Specify a verified domain for your Exchange organization. Este dominio debe ser el mismo dominio que se utiliza como el dominio SMTP principal que se utiliza para las cuentas de Exchange local.This domain should be the same domain used as the primary SMTP domain used for the on-premises Exchange accounts. Este dominio se conoce como <su dominio comprobado> en el siguiente procedimiento.This domain is referred as <your Verified Domain> in the following procedure.

Nota

Successfully running the following script requires that the Windows PowerShell for Azure Active Directory is connected to your Microsoft Online Azure AD tenant, as explained in step 4 in the previous section. Successfully running the following script requires that the Windows PowerShell for Azure Active Directory is connected to your Microsoft Online Azure AD tenant, as explained in step 4 in the previous section.

  1. Guarde el siguiente texto en un script de PowerShell con nombre, por ejemplo, RegisterEndpoints.ps1.Save the following text to a PowerShell script file named, for example, RegisterEndpoints.ps1. Este ejemplo usa un carácter comodín para registrar todos los puntos de conexión para contoso.com.This example uses a wildcard to register all endpoints for contoso.com. Reemplace contoso.com con una entidad de certificación de nombre de host para la organización de Exchange localReplace contoso.com with a hostname authority for your on-premises Exchange organization

    $externalAuthority="*.<your Verified Domain>" 
    $ServiceName = "00000002-0000-0ff1-ce00-000000000000"; 
    $p = Get-MsolServicePrincipal -ServicePrincipalName $ServiceName; 
    $spn = [string]::Format("{0}/{1}", $ServiceName, $externalAuthority); 
    $p.ServicePrincipalNames.Add($spn); 
    Set-MsolServicePrincipal -ObjectID $p.ObjectId -ServicePrincipalNames $p.ServicePrincipalNames; 
    
  2. En Windows PowerShell para Azure Active Directory, ejecute el script de Windows PowerShell que creó en el paso anterior.In Windows PowerShell for Azure Active Directory, run the Windows PowerShell script that you created in the previous step. Por ejemplo: .\RegisterEndpoints.ps1For example: .\RegisterEndpoints.ps1

Comprobar que realizó todo correctamenteVerify your success

Compruebe que la configuración de OAuth es correcta verificando que algunas características funcionan correctamente, como disponer de un historial de conversación para clientes móviles visible en la carpeta Historial de conversación de Outlook.Verify that the OAuth configuration is correct by verifying some of the features are working successfully, such as having conversation history for mobile clients visible in the Outlook Conversation History folder.

  1. Iniciar el Skype para la aplicación empresarial de móvil en su dispositivo de iOS o Windows Phone e iniciar sesión como un Skype para usuario empresarial en línea con un 2016 de Exchange o un buzón de Exchange 2013 local.Start the Skype for Business mobile app on your Windows Phone or iOS device and sign in as a Skype for Business Online user with an Exchange 2016 or Exchange 2013 on-premises mailbox.

  2. Tener una conversación de mensajería instantánea con otro Skype para usuarios profesionales en línea.Have an instant messaging conversation with another Skype for Business Online user.

  3. Cierre la ventana de la conversación de MI.Close the IM conversation window.

  4. Inicie la sesión de Outlook de este usuario y compruebe que la conversación está visible en la carpeta Historial de conversación de Outlook.Start Outlook for this user and verify that the conversation is visible in the Outlook Conversation history folder.