PwsRevokeOauth2RefreshToken

Overview

This service provides a SOAP alternative to the RESTful oauth2revoketoken  service, and is used to revoke an OAuth 2 Token that was previously used by an OAuth 2 Authenticated User of a Client App for access to Projector services.  Note that this service should not be provided with a SessionTicket on invocation.  Note also that if the response has a non-null value for RedirectUrl , the service was invoked on the incorrect server and must be re-invoked on the server specified in RedirectUrl .

As per OAuth 2.0 standard, this service will respond with "success" whether or not the presented refresh token is currently valid and in play, or has been previously revoked.  The service will complain if the token presented is of incorrect or invalid form.

For more information on implementing OAuth 2, refer to the OAuth 2.0 Client Application Developer Guide.

Request Format


PwsRevokeOauth2RefreshToken Request

Request Elements


Element

Data Type

Required?

Default

Description

Sample Data

RequestId

Int32

No


Click here for more information


SessionTicket

String

No


Should be omitted or set to null.


ClientIdentifier

String

Yes


Guid string that identifies the client app requesting a token

24748faf-e239-d132-167a-6e4d3e1bd0fb

ClientSecret

String

Yes


Secret string that client app uses to prove itself

r6tuVhR3ol1BFFVfy3Oe-J8VoH0KpkgLVqAMi-IIgvd_Lr613IEYcXhKAea8eLtQKSIgQ4jHIKhCKQcwriUtgB

Token

String

Yes


A valid refresh token that designates a client app connection needing a refresh

E2BgYJjLoNrEY50z-7gMN1evukfd3EWpZcn5RQW6xemGeYelfl_aetMDAA

TokenType

String

No

refresh_token

The string "refresh_token" may be supplied, and will be assumed if omitted.  No other value is currently permitted.

refresh_token

Request Usage Example(s)

Revocation of Oauth 2 Refresh Token
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:pws="http://projectorpsa.com/PwsProjectorServices/" xmlns:req="http://projectorpsa.com/DataContracts/Requests/">
   <soapenv:Header/>
   <soapenv:Body>
      <pws:PwsRevokeOauth2RefreshToken>
         <pws:serviceRequest>
            <req:ClientIdentifier>24748faf-e239-d132-167a-6e4d3e1bd0fb</req:ClientIdentifier>
            <req:ClientSecret>r6tuVhR3ol1BFFVfy3Oe-J8VoH0KpkgLVqAMi-IIgvd_Lr613IEYcXhKAea8eLtQKSIgQ4jHIKhCKQcwriUtgB</req:ClientSecret>
            <req:Token>E2BgYJjLoNrEY50z-7gMN1evukfd3EWpZcn5RQW6xemGeYelfl_aetMDAA</req:Token>
         </pws:serviceRequest>
      </pws:PwsRevokeOauth2RefreshToken>
   </soapenv:Body>
</soapenv:Envelope>


Response Format


PwsRevokeOauth2RefreshToken Response

Response Elements


Element

Data Type

Description

Sample Data

Messages

PwsMessage[]

The web service response status and message. Click here for more information.


ResponseId

Int32

Click here for more information


Status

RequestStatus

Click here for more information


ServerTimestampUtc

DateTime

Click here for more information


RedirectUrl

String

If this is set, this PwsAcquireOauth2Token  service invocation was made against the incorrect server for the user being authenticated.  If that is the case, the service should be re-invoked against this base URL.  If this value is set, the operation was NOT successful.

https://secure2.projectorpsa.com

Response Usage Example(s)

Response on successful revocation of token
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsRevokeOauth2RefreshTokenResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsRevokeOauth2RefreshTokenResult xmlns:a="http://projectorpsa.com/DataContracts/Responses/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <Messages xmlns="http://projectorpsa.com/CommonServices/" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
            <ResponseId xmlns="http://projectorpsa.com/CommonServices/">0</ResponseId>
            <Status xmlns="http://projectorpsa.com/CommonServices/">Ok</Status>
            <ServerTimestampUtc xmlns="http://projectorpsa.com/CommonServices/">2021-12-08T16:19:04.5684513Z</ServerTimestampUtc>
            <a:RedirectUrl>http://secure2.projectorpsa.com</a:RedirectUrl>
         </PwsRevokeOauth2RefreshTokenResult>
      </PwsRevokeOauth2RefreshTokenResponse>
   </s:Body>
</s:Envelope>
Response when revocation request was invoked on incorrect server
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <PwsRevokeOauth2RefreshTokenResponse xmlns="http://projectorpsa.com/PwsProjectorServices/">
         <PwsRevokeOauth2RefreshTokenResult xmlns:a="http://projectorpsa.com/DataContracts/Responses/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
            <Messages xmlns="http://projectorpsa.com/CommonServices/" xmlns:b="http://projectorpsa.com/DataContracts/Shared/Common/"/>
            <ResponseId xmlns="http://projectorpsa.com/CommonServices/">0</ResponseId>
            <Status xmlns="http://projectorpsa.com/CommonServices/">Ok</Status>
            <ServerTimestampUtc xmlns="http://projectorpsa.com/CommonServices/">2021-12-08T16:19:04.5684513Z</ServerTimestampUtc>
            <a:RedirectUrl i:nil="true"/>
         </PwsRevokeOauth2RefreshTokenResult>
      </PwsRevokeOauth2RefreshTokenResponse>
   </s:Body>
</s:Envelope>


PwsRevokeOauth2RefreshToken - Common Errors and Warnings


ErrorNumber

ErrorCode

ErrorText

50629OauthUnsupportedGrantTypeUnsupported OAuth2 Grant Type "{GrantType}".
50630OauthInvalidClientInvalid Oauth2 Client.
50631OauthInvalidGrantInvalid Grant for Oauth2 Token: "{InvalidReason}".
50632OauthInvalidRequestInvalid OAuth2 Request in Context "{Context}".  Null or missing parameters "{Missing}".  Improper parameters "{Improper}".
50635OauthUnsupportedTokenTypeUnsupported OAuth2 Token Type "{TokenType}".