Несколько WNS access_token для одного устройства одного приложения?

У меня есть приложение, работающее на одном устройстве Windows. При аутентификации с помощью WNS я получаю access_token в ответе.

Можно ли сделать запрос более чем на один access_token? Будет ли это недействительным ранее сгенерированных access_tokens для того же приложения того же устройства? т.е. для приложения на одном устройстве, можем ли мы поддерживать несколько access_tokens?

1 ответ

Решение

Можно ли сделать запрос более чем на один access_token?

Нет, один запрос аутентификации просто вернет один access_token, Но мы можем отправить несколько запросов на аутентификацию для получения нескольких access_tokens.

Будет ли это недействительным ранее сгенерированных access_tokens для того же приложения того же устройства?

Нет, access_tokenОни независимы, они не будут аннулированы, пока не истек срок их действия.


Я не уверен, почему вам нужно поддерживать несколько access_tokens. Как описывается обзор служб push-уведомлений Windows (WNS):

Описанный выше токен доступа может быть повторно использован для нескольких запросов на уведомление; облачный сервер не обязан запрашивать новый токен доступа для каждого уведомления. Если срок действия маркера истек, запрос на уведомление вернет ошибку. Мы рекомендуем вам не пытаться повторно отправлять свое уведомление более одного раза, если токен доступа отклонен. Если вы столкнулись с этой ошибкой, вам нужно будет запросить новый токен доступа и повторно отправить уведомление.

Таким образом, для одного канала URI нам не нужно несколько access_tokens.

Однако если ваше приложение хочет отправлять push-уведомления нескольким приложениям, вам нужно несколько access_tokens.

Токен доступа позволяет облачной службе отправлять уведомления только одному приложению, для которого был создан токен. Один токен доступа нельзя использовать для отправки уведомлений нескольким приложениям. Следовательно, если облачная служба поддерживает несколько приложений, она должна предоставить правильный маркер доступа для приложения при отправке уведомления на каждый URI канала.

Для этого сценария вам нужно запросить несколько access_tokenс каждым client_id а также client_secret из нескольких приложений.

Другие вопросы по тегам