SSOfy provides official SDK for a set of programming languages and frameworks. We strive to support more languages and frameworks overtime.
For each programming language, a base SDK is provided that contains an API Client service for interacting with SSOfy API as well as essential and core components to be extended and used in higher level SDK development for Resource Server and Client SDKs.
With Framework SDKs, SDKs are divided into Server and Client SDKs. The Server SDK provides everything necessary for developing a Resource Server, whereas the Client SDK is used for initiating login workflows from the client application. With monolith applications (i.e. a FullStack Laravel application) you may utilize both of Server and Client SDKs in conjunction to unlock the full functionality within a single app.
It is not mandatory to use official SDKs especially for connecting with SSOfy API.
You may achieve the same goal by making regular
curl requests or crafting your own integrations.
The key lies into following good design patterns and best practices
to avoid redundant calls to SSOfy server and increase performance by implementing enough cache layers
and also saving on your account's associated triggers.
The official SDK includes methods for validating tokens and matching signatures, both of which are useful in middleware, and also entity models for generating safe responses in resource endpoints. These methods and models help ensure the security and integrity of communications between your backend application and SSOfy API.
SSOfy runs the OAuth2 Server for you, and encourages developers to use libraries and frameworks of their choice for the client side integration. This allows developers to take advantage of the many existing OAuth2 client libraries that are available in various languages, and to leverage their existing knowledge and experience when implementing OAuth2 flows in their applications.
Each OAuth2 Client library requires a set of common input parameters to be configured for to work that are explained here.