Applications that use Software Potential web services to access product, customer, license and activation information must authenticate to Software Potential.
With the release of Software Potential 4.0.2037, applications can authenticate to Software Potential using the OAuth 2 Client Credentials flow. Applications authenticate using a unique ClientID and Client Secret and, in response, get an Access Token that is used to access the required web service(s).
OAuth2 Client Credentials Flow
The OAuth 2 Client Credentials Flow allows an application to authenticate using its own credentials, instead of impersonating a user, when calling a web service. This type of grant is commonly used for server-to-server interactions that must run in the background, without immediate interaction with a user. In this scenario, the client is typically a middle-tier web service, a daemon service, or a website, where the application rather than the user is to be authenticated.
Client Application Registration
To authenticate to Software Potential, an application must be registered as a client via the Software Potential portal. At registration the application must be assigned a unique ClientID and a ClientSecret is automatically generated in Software Potential. To specify the web services to which the application is to have access one or more client Scopes must be selected at registration. See Register Client Application with Software Potential for more details on the client registration process.
Impact on Existing Applications
Prior to this release, applications authenticated to Software Potential using Software Potential user account credentials (Username/Password). The impact on existing applications depends on whether the applications are using our REST or WCF/SOAP APIs.
Applications that currently use the REST web services must be migrated to use the new authentication mechanism.
Existing applications that use the Software Potential WCF web services can continue to authenticate using Software Potential credentials (Username/Password. While we continue to support authentication to WCF/SOAP web services using Software Potential user credentials (username/password), we recommend that customers migrate their applications to use the Clients Credentials Flow as soon as possible.
We have sample GitHub applications that demonstrate how to authenticate to both REST and WCF web services using Client Credentials flow. These can be found at https://github.com/SoftwarePotential/samples/tree/master/Api