Настройка передачи push-уведомлений в службе "Веб-приложение OWA для устройств"Configuring push notifications proxying for OWA for Devices

Применимо к: Exchange Online, Exchange Server 2013Applies to: Exchange Online, Exchange Server 2013

Включение push-уведомлений для OWA для устройств (OWA для iPhone) и OWA для iPad для локального развертывания Microsoft Exchange 2013 позволяет пользователю получать обновления на значок Outlook Web App на свой OWA для iPhone и OWA для iPad, указывающее количество сообщений m сообщений в папке "Входящие" пользователя. Если push-уведомления не настройки и разрешения пользователя с помощью OWA для устройств не имеет возможности узнать, что невидимым сообщения находятся в папке "Входящие" без запуска приложения. При доступности нового сообщения OWA для устройств значка обновляется на устройстве пользователя и выглядит как следующий значка.Enabling push notifications for OWA for Devices (OWA for iPhone and OWA for iPad) for an on-premises deployment of Microsoft Exchange 2013 lets a user receive updates on the Outlook Web App icon on his or her OWA for iPhone and OWA for iPad indicating the number of unseen messages in the user’s inbox. If push notifications aren’t configured and enabled, a user with OWA for Devices has no way of knowing that unseen messages are in the inbox without launching the app. When a new message is available, the OWA for Devices badge is updated on the user’s device and looks like the following badge.

![OWA для устройств значка] (images/Dn511017.f399ba74-5395-4d24-ae7d-d16bf0ac7b35(EXCHG.150).png "OWA для устройств значка")OWA for Devices Badge

Как включить push-уведомления?How do I enable push notifications?

Для активации push-уведомлений необходимо подключить локальные серверы Exchange 2013 к службе push-уведомлений Office 365, чтобы отправлять их на устройства iPhone и iPad. Локальные серверы Exchange 2013 маршрутизируют свои уведомления об обновлениях через службы уведомлений Office 365, поэтому нет необходимости регистрировать учетные записи разработчиков в сторонних службах уведомлений. На схеме ниже изображен процесс получения обновлений о непрочитанных сообщениях с помощью индикаторов событий на устройствах iPhone и iPad.In order to enable push notifications, the on-premises Exchange 2013 servers must connect to the Office 365 Push Notification Service to send push notifications to iPhones and iPads. Exchange 2013 on-premises servers route their update notifications through the Office 365 notification services to remove the need for enrolling developer accounts with third-party push notification services. The following diagram shows the process of how iPhone and iPad users can get badge updates for unseen messages.

![Процесс Push-уведомлений] (images/Dn511017.36764ce6-7351-492f-a17e-c42b781e2781(EXCHG.150).jpg "Процесс Push-уведомлений")Process for Push Notifications

Чтобы включить push-уведомления, администратор должен:To enable push notifications, the admin must:

  1. зарегистрировать свою организацию в службе Office 365 для предприятий;Enroll your organization in Office 365 for business.

  2. обновить все локальные серверы Exchange Server 2013 до версии накопительного пакета обновления 3 (CU3) или более поздней;Update all on-premises servers to Exchange Server 2013 Cumulative Update 3 (CU3) or later.

  3. настроить локальный сервер Exchange 2013 для проверки подлинности в Office 365;Set up On-premises Exchange 2013 to Office 365 Authentication

  4. включить получение push-уведомлений с локального сервера Exchange Server 2013 в службу Office 365 и убедиться в их работоспособности.Enable push notifications from the on-premises Exchange Server 2013 to Office 365 and verify that push notifications are working.

Регистрация организации в службе Office 365 для предприятийEnroll your organization in Office 365 for business

Office 365 — это облачная служба, которая предназначена для удовлетворения потребностей организации в надежной системе безопасности, безотказности и производительности труда пользователей. Office 365 предусматривает использование планов подписки, которые обеспечивают доступ к приложениям Office, а также другим высокопроизводительным службам в Интернете (облачные службы), например службы веб-конференций Lync и размещенной электронной почты Exchange Online для бизнеса.Office 365 is a cloud-based service that is designed to help meet your organization’s needs for robust security, reliability, and user productivity. Office 365 refers to subscription plans that include access to Office applications plus other productivity services that are enabled over the Internet (cloud services), such as Lync web conferencing and Exchange Online hosted email for business.

Большинство планов Office 365 также содержат последние классические версии приложений Office, которые пользователи могут установить на несколько компьютеров и устройств. Все планы Office 365 подлежат оплате на условиях подписки, ежемесячно или ежегодно. Подробнее об этом, а также о регистрации службы Office 365 в своей организации см. на странице Что такое Office 365 для бизнеса?. Дополнительные сведения о каждой службе, предлагаемой в рамках Office 365, см. в статье Описание службы Office 365 .Many Office 365 plans also include the desktop version of the latest Office applications, which users can install across multiple computers and devices. All Office 365 plans are paid for on a subscription basis, monthly or annually. To find out more or to enroll in Office 365 for your organization, see What is Office 365 for business?. For more about each of the services offered through Office 365, see Office 365 Service Descriptions.

Обновление до версии CU3 или более позднейUpdate to CU3 or later

Накопительный пакет обновления 3 (CU3) для Exchange Server 2013 устраняет проблемы, обнаруженные в Exchange Server 2013 с момента выпуска его окончательной версии. Он охватывает все проблемы и исправления накопительных пакетов обновления 1 и 2, а также содержит другие исправления и обновления для накопительного пакета 2. Установка этого обновления настоятельно рекомендуется для всех локальных клиентов Exchange Server 2013 и необходима для включения push-уведомлений. О накопительных накопительный пакетах обновления, в том числе о пакете CU3, читайте в разделе Обновления для Exchange 2013.Cumulative Update 3 (CU3) for Exchange Server 2013 resolves issues that were found in Exchange Server 2013 since the software was released since RTM. It contains all of the issues and fixes in CU1 and CU2 and includes other fixes and updates since CU2 was released. This update is highly recommended for all Exchange Server 2013 on-premises customers but is required for push notifications. To read about cumulative updates, including CU3, see Updates for Exchange 2013.

Настройка локального сервера Exchange 2013 для проверки подлинности в Office 365Set up On-premises Exchange 2013 to Office 365 Authentication

С помощью одного, стандартный метод проверки подлинности сервер сервер — это подход, используемый Exchange Server 2013. Exchange Server 2013 (а также Lync Server 2013 и SharePoint 2013) и Office 2013 поддерживает протокол OAuth (Open Authorization) для проверки подлинности сервер сервер и авторизации. С помощью OAuth, авторизации стандартный протокол, используемый в число основных веб-сайтов, учетные данные пользователей и пароли не передается с одного компьютера на другой. Вместо этого проверки подлинности и авторизации на основе маркеров безопасности OAuth; Эти маркеры предоставить доступ к определенному набору ресурсов для указанного периода времени.Using a single, standardized method for server-to-server authentication is the approach used by Exchange Server 2013. Exchange Server 2013 (as well as Lync Server 2013 and SharePoint 2013) and Office 2013 support the OAuth (Open Authorization) protocol for server-to-server authentication and authorization. With OAuth, a standard authorization protocol used by a number of major websites, user credentials and passwords aren’t passed from one computer to another. Instead, authentication and authorization are based on the OAuth security tokens; these tokens grant access to a specific set of resources for a specific amount of time.

В проверке подлинности OAuth, как правило, участвуют три компонента: единый сервер авторизации и две области, которые должны обмениваться данными. Сервер авторизации (также называемый "сервер токенов безопасности") отправляет токены безопасности этим двум областям. Токены проверяют, установлено ли между двумя областями доверительное соединение. Например, сервер авторизации создает токены, которые подтверждают, что пользователи одной области Lync Server 2013 могут получить доступ к области Exchange 2013 и наоборот.OAuth authentication typically involves three components: a single authorization server and the two realms that need to communicate with one another. Security tokens are issued by the authorization server (also known as a security token server) to the two realms that need to communicate; these tokens verify that communications originating from one realm should be trusted by the other realm. For example, the authorization server might issue tokens that verify that users from a specific Lync Server 2013 realm are able to access a specified Exchange 2013 realm, and vice versa.

Совет

Область является контейнером безопасности.A realm is a security container.

Однако для локальной проверки подлинности "сервер-сервер" нет необходимости использовать сторонние токены. Такие серверные продукты, как Lync Server 2013 и Exchange 2013, содержат встроенные серверы токенов, которые можно использовать для проверки подлинности на других серверах Майкрософт (например, SharePoint Server), поддерживающих проверку подлинности "сервер-сервер". Например, Lync Server 2013 может сам создать и подписать токен безопасности, с помощью которого затем установит связь с Exchange 2013. В таком случае использовать сторонний сервер токенов не нужно.However, for on-premises server-to-server authentication there is no need to use a third-party token server. Server products such as Lync Server 2013 and Exchange 2013 each have a built-in token server that can be used for authentication purposes with other Microsoft servers (such as SharePoint Server) that support server-to-server authentication. For example, Lync Server 2013 can issue and sign a security token by itself, then use that token to communicate with Exchange 2013. In a case like this, there is no need for a third-party token server.

Чтобы настроить проверку подлинности "сервер-сервер" для локальной реализации Exchange Server 2013 в службе Office 365, необходимо выполнить два действия.In order to configure server-to-server authentication for an on-premises implementation of Exchange Server 2013 to Office 365, you must complete two steps:

  • Действие 1. Назначение сертификата встроенному издателю токенов локального сервера Exchange Server.  Во-первых, локальный администратор Exchange должен создать сертификат, если он не был создан ранее, и назначить его встроенному издателю токенов локального сервера Exchange Server с помощью сценария командной консоли Exchange. Это действие выполняется только один раз; созданный сертификат не заменяется и повторно используется для других сценариев проверки подлинности. Обязательно обновите значение $tenantDomain в соответствии с именем своего домена. Для этого скопируйте и вставьте указанный ниже код.Step 1 – Assign a certificate to the built-in token issuer of the on-premises Exchange Server. First, an on-premises Exchange admin must use the following Exchange Management Shell script to create a certificate if one wasn’t created before and assign it to the built-in token issuer of the on-premises Exchange Server. This is a one-time process; after a certificate has been created, that certificate should be reused for other authentication scenarios and not replaced. Make sure to update the value of $tenantDomain to be the name of your domain. To do this, copy and paste the following code.

    Предупреждение

    Копирование кода в текстовый редактор, например Блокнот, и сохранение его с расширением PS1 упрощает запуск сценариев командной консоли.Copying and pasting the code into a text editor like Notepad and saving it with a .ps1 extension makes it easier to run Shell scripts.

    # Make sure to update the following $tenantDomain with your Office 365 tenant domain.
    
    $tenantDomain = "Fabrikam.com"
    
    # Check whether the cert returned from Get-AuthConfig is valid and keysize must be >= 2048
    
    $c = Get-ExchangeCertificate | ?{$_.CertificateDomains -eq $env:USERDNSDOMAIN -and $_.Services -ge "SMTP" -and $_.PublicKeySize -ge 2048 -and $_.FriendlyName -match "OAuth"}
    If ($c.Count -eq 0)
    {
        Write-Host "Creating certificate for oAuth..."
        $ski = [System.Guid]::NewGuid().ToString("N")
        $friendlyName = "Exchange S2S OAuth"
        New-ExchangeCertificate -FriendlyName $friendlyName -DomainName $env:USERDNSDOMAIN -Services Federation -KeySize 2048 -PrivateKeyExportable $true -SubjectKeyIdentifier $ski
        $c = Get-ExchangeCertificate | ?{$_.friendlyname -eq $friendlyName}
    }
    ElseIf ($c.Count -gt 1)
    {
        $c = $c[0]
    }
    
    $a = $c | ?{$_.Thumbprint -eq (get-authconfig).CurrentCertificateThumbprint}
    If ($a.Count -eq 0)
    {
        Set-AuthConfig -CertificateThumbprint $c.Thumbprint
    }
    Write-Host "Configured Certificate Thumbprint is:"(get-authconfig).CurrentCertificateThumbprint
    
    # Export the certificate
    
    Write-Host "Exporting certificate..."
    if((test-path $env:SYSTEMDRIVE\OAuthConfig) -eq $false)
    {
        md $env:SYSTEMDRIVE\OAuthConfig
    }
    cd $env:SYSTEMDRIVE\OAuthConfig
    
    $oAuthCert = (dir Cert:\LocalMachine\My) | where {$_.FriendlyName -match "OAuth"}
    $certType = [System.Security.Cryptography.X509Certificates.X509ContentType]::Cert
    $certBytes = $oAuthCert.Export($certType)
    $CertFile = "$env:SYSTEMDRIVE\OAuthConfig\OAuthCert.cer"
    [System.IO.File]::WriteAllBytes($CertFile, $certBytes)
    
    # Set AuthServer
    $authServer = Get-AuthServer MicrosoftSts;
    if ($authServer.Length -eq 0)
    {
        Write-Host "Creating AuthServer Config..."
        New-AuthServer MicrosoftSts -AuthMetadataUrl https://accounts.accesscontrol.windows.net/metadata/json/1/?realm=$tenantDomain
    }
    elseif ($authServer.AuthMetadataUrl -ne "https://accounts.accesscontrol.windows.net/metadata/json/1/?realm=$tenantDomain")
    {
        Write-Warning "AuthServer config already exists but the AuthMetdataUrl doesn't match the appropriate value. Updating..."
        Set-AuthServer MicrosoftSts -AuthMetadataUrl https://accounts.accesscontrol.windows.net/metadata/json/1/?realm=$tenantDomain
    }
    else
    {
        Write-Host "AuthServer Config already exists."
    }
    Write-Host "Complete."
    

    Пример ожидаемого результата приведен ниже.The expected result should be similar to the following output.

Configured Certificate Thumbprint is: 7595DBDEA83DACB5757441D44899BCDB9911253C
Exporting certificate...
Complete.

Предупреждение

Прежде чем продолжить, командлеты Azure модуль Active Directory для Windows PowerShell является обязательным. Если не был установлен Azure Active Directory модуль для командлетов Windows PowerShell (ранее называлась Microsoft Online Services модуль для Windows PowerShell), можно установить его из Управление Azure AD, с помощью Windows PowerShell.Before you continue, the Azure Active Directory Module for Windows PowerShell cmdlets is required. If the Azure Active Directory Module for Windows PowerShell cmdlets (previously known as the Microsoft Online Services Module for Windows PowerShell) hasn’t been installed, you can install it from Manage Azure AD using Windows PowerShell.

  • Действие 2. Настройка взаимодействия Office 365 с локальным сервером Exchange 2013.  Настройте службу Office 365, с которой будет обмениваться данными сервер Exchange Server 2013, как партнерское приложение. Например, если локальный сервер Exchange Server 2013 должен взаимодействовать с Office 365, необходимо настроить его как партнерское приложение. Партнерское приложение — это любое приложение, непосредственно с которым Exchange 2013 может обмениваться токенами безопасности, не используя при этом сторонний сервер токенов безопасности. Администратор локального сервера Exchange 2013 должен использовать указанный ниже сценарий командной консоли Exchange, чтобы настроить клиент Office 365 для взаимодействия с Exchange 2013 как партнерское приложение. Во время выполнения сценария будет предложено ввести имя пользователя и пароль администратора домена клиента Office 365, например administrator@fabrikam.com. Обязательно обновите значение $CertFile в соответствии с расположением сертификата, если он не был создан с помощью предыдущего сценария. Для этого скопируйте и вставьте указанный ниже код.Step 2 – Configure Office 365 to communicate with Exchange 2013 on-premises. Configure the Office 365 server that Exchange Server 2013 will communicate with to be a partner application. For example, if Exchange Server 2013 on-premises needs to communicate with Office 365, you need to configure Exchange on-premises to be a partner application. A partner application is any application that Exchange 2013 can directly exchange security tokens with, without having to go through a third-party security token server. An on-premises Exchange 2013 administrator must use the following Exchange Management Shell script to configure the Office 365 tenant that Exchange 2013 will communicate with to be a partner application. During execution, there will be a prompt to enter the administrator user name and password of the Office 365 tenant domain—for example, administrator@fabrikam.com. Make sure to update the value of $CertFile to the location of the certificate if not created from the previous script. To do this, copy and paste the following code.

    # Make sure to update the following $CertFile with the path to the cert if not using the previous script.
    
    $CertFile = "$env:SYSTEMDRIVE\OAuthConfig\OAuthCert.cer"
    
    If (Test-Path $CertFile)
    {
        $ServiceName = "00000002-0000-0ff1-ce00-000000000000";
    
        $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);
    
        Write-Host "Please enter the administrator user name and password of the Office 365 tenant domain..."
    
        Connect-MsolService;
        Import-Module msonlineextended;
    
        Write-Host "Adding a key to Service Principal..."
    
        $p = Get-MsolServicePrincipal -ServicePrincipalName $ServiceName
        New-MsolServicePrincipalCredential -AppPrincipalId $p.AppPrincipalId -Type asymmetric -Usage Verify -Value $credValue -StartDate $cer.GetEffectiveDateString() -EndDate $cer.GetExpirationDateString()
    }
    Else
    {
        Write-Error "Cannot find certificate."
    } 
    

    Пример ожидаемого результата приведен ниже.The expected result should be as follows.

    Please enter the administrator user name and password of the Office 365 tenant domain...
    Adding a key to Service Principal...
    Complete.
    

Включение передачи push-уведомленийEnable push notifications proxying

После успешной настройки проверки подлинности OAuth с помощью описанных выше действий, локальный администратор должен включить передачу push-уведомлений, используя следующий сценарий. Обязательно обновите значение $tenantDomain в соответствии с именем своего домена. Для этого скопируйте и вставьте указанный ниже код.After OAuth authentication has been successfully set up following the preceding steps, an on-premises admin must enable push notification proxying by using the following script. Make sure to update the value of $tenantDomain to be the name of your domain. To do this, copy and paste the following code.

$tenantDomain = "Fabrikam.com"
Enable-PushNotificationProxy -Organization:$tenantDomain

Пример ожидаемого результата приведен ниже.The expected result should be similar to the following output.

    RunspaceId        : 4f2eb5cc-b696-482f-92bb-5b254cd19d60
    DisplayName       : On Premises Proxy app
    Enabled           : True
    Organization      : fabrikam.com
    Uri               : https://outlook.office365.com/PushNotifications
    Identity          : OnPrem-Proxy
    IsValid           : True
    ExchangeVersion   : 0.20 (15.0.0.0)
    Name              : OnPrem-Proxy
    DistinguishedName : CN=OnPrem-Proxy,CN=Push Notifications Settings,CN=First Organization,CN=Microsoft
                        Exchange,CN=Services,CN=Configuration,DC=Domain,DC=extest,DC=microsoft,DC=com
    Guid              : 8b567958-58a4-403c-a8f0-524d7f1e9279
    ObjectCategory    : fabrikam.com/Configuration/Schema/ms-Exch-Push-Notifications-App
    ObjectClass       : {top, msExchPushNotificationsApp}
    WhenChanged       : 8/27/2013 7:23:47 PM
    WhenCreated       : 8/14/2013 1:30:27 PM
    WhenChangedUTC    : 8/28/2013 2:23:47 AM
    WhenCreatedUTC    : 8/14/2013 8:30:27 PM
    OrganizationId    :
    OriginatingServer : server.fabrikam.com
    ObjectState       : Unchanged

Проверка работоспособности push-уведомленийVerify that push notifications are working

Выполнив предыдущие действия, можно проверить работоспособность push-уведомлений с помощью одного из описанных ниже способов.After the preceding steps have been completed, push notifications can be tested by one of the following:

  • Отправка тестового сообщения электронной почты в почтовом ящике пользователя:Sending a test email message to the user’s mailbox:

    1. В учетной записи службы "Веб-приложение OWA для устройств" на мобильной устройстве подпишитесь на получение уведомлений.Set up an account in OWA for Devices on a mobile device to subscribe for notifications.

    2. Вернитесь на начальный экран устройства; служба "Веб-приложение OWA для устройств" продолжит работу в фоновом режиме.Return to the device home screen, which puts OWA for Devices in the background.

    3. Отправьте сообщение электронной почты с другого устройства, например с компьютера, в почтовый ящик учетной записи, настроенный на мобильном устройстве.Send an email message from another device, such as a PC, that goes to the inbox of the account set up on the mobile device.

    4. Через несколько минут на значке приложения должен появиться счетчик непрочитанных сообщений.This should result in an unseen count being indicated on the app icon within a few minutes.

  • Включение отслеживания. Еще один способ проверить работоспособность push-уведомлений (или узнать, почему они не работают) — включение отслеживания на сервере почтовых ящиков в своей организации. Администратор локального сервера Exchange 2013 должен включить отслеживание передачи push-уведомлений с помощью следующего сценария. Для этого скопируйте и вставьте указанный ниже код.Enabling monitoring. An alternate method to test push notifications, or to investigate why notifications are failing, is to enable monitoring on a mailbox server in your organization. An on-premises Exchange 2013 server admin must invoke push notification proxy monitoring by using the following script. To do this, copy and paste the following code.

        # Send a push notification to verify connectivity.
    
        $s = Get-ExchangeServer | ?{$_.ServerRole -match "Mailbox"}
        If ($s.Count -gt 1)
        {
            $s = $s[0]
        }
        If ($s.Count -ne 0)
        {
            # Restart the monitoring service to clear the cache from when push was previously disabled.
            Restart-Service MSExchangeHM
    
            # Give the monitoring service enough time to load.
            Start-Sleep -Seconds:120
    
            Invoke-MonitoringProbe PushNotifications.Proxy\PushNotificationsEnterpriseConnectivityProbe -Server:$s.Fqdn | fl ResultType, Error, Exception
        }
        Else
        {
            Write-Error "Cannot find a Mailbox server in the current site."
        }
    

    Пример ожидаемого результата приведен ниже.The expected result should be similar to the following output.

        ResultType : Succeeded
        Error      :
        Exception  :