In order for your web service to provide single-sign-on to Xbox Live users, it needs to be configured as a relying party of Xbox Live. When configured that way, users who are authenticated to Xbox Live will automatically be authenticated to your service without having to re-enter a different set of credentials.
For this to happen, a trust relationship must be established between the Xbox Security Token Service (XSTS) and your web service. Cryptographically, this is achieved by having the tokens issued by the XSTS be signed with a private key, and by having token signatures validated on your service by using the corresponding public key.
In addition, we require the following to ensure that token content can’t be read on the wire or on the client:
As part of your relying party configuration, a private key needs to be provided, which will be used by XSTS to encrypt tokens emitted for your web service. Your web service, when it receives such a token, will then decrypt that token by using the corresponding private key.
Note You must click on the web service to highlight it before you can add endpoints to it.
Host type
Use a fully qualified domain name (FQDN) or a wildcard. Use an FQDN if you want to have an exact match on the host name; use a wildcard if you use subdomains, and the SSO configuration will apply to all subdomains.
Protocol
Use HTTPS.
Hostname
Specify the host name of your service, for example, “abc.com” (FQDN) or “*.abd.com” (Wildcard).
Port
If your service listens on the default port (443) for HTTPS, leave this empty; otherwise, specify the port that your service listens on.
Path
Optionally, you can specify the path for which the SSO configuration should apply, for example, “xboxlive” or “xboxlive/sso.svc.”
Note The token name has to be unique across all of Xbox Live. If the name was used before (even if deleted since) it will not be valid for a new token.
Click Add token.
At this point, your web service is configured and ready for use by clients. When a title developer selects your web service as part of their NSAL configuration and makes an IXMLHTTPRequest2 call to the endpoint(s) you specified in the configuration, an authorization token will automatically be added to the authorization header of the http request. Similarly, the title developer would be able to manually retrieve a token using the GetTokenAndSignatureAsync API followed by manual insertion of the token into the authorization request header of the HTTP request to your service.
For more info about how to implement and configure your web service to process tokens issued by Xbox Live, see the documentation for the Xbox Services and Relying Party SDK, available for download from Xbox One XDK Software Downloads on the Xbox Game Developer site.