
Security News
PyPI Expands Trusted Publishing to GitLab Self-Managed as Adoption Passes 25 Percent
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads
@ogcio/building-blocks-sdk
Advanced tools
The Building Blocks SDK is the TypeScript client for integrating with the various building blocks within the OGCIO ecosystem. It helps developers interact different modules in a streamlined way, providing a unified API for seamless integration.
Install the package via:
npm install @ogcio/building-blocks-sdk
SDK initialization:
const sdk = getBuildingBlockSDK({
services: {
upload: {
baseUrl: "http://localhost:8008",
},
},
});
This snippet creates the SDK with configuration for the upload API building block. The SDK accepts a configuration for each building block API.
At the present time available building blocks are:
Access to building-blocks api is granted through access token in the Authorization header.
Users can pass the getTokenFn function to the SDK. The SDK client will call this function when it needs an access token. The SDK will provide the service name of the service for which it is requesting the token:
const sdk = getBuildingBlockSDK({
services: {
upload: {
baseUrl: "http://localhost:8008",
},
},
getTokenFn: async (serviceName: SERVICE_NAME) => {
if (serviceName === UPLOAD) {
return "TOKEN_FOR_UPLOAD";
}
},
});
This approach allows users of this library to plug-in their preferred authentication mechanism as long as a string is returned by the getTokenFn.
In order to use the library in your server applications you can install the peer dependency @logto/node via:
npm i @logto/node
and use the getM2MTokenFn utility function. This function accepts the M2M configuration parameters for each of the building-blocks api and returns a getTokenFn compliant function that will handle Logto m2m retrieval for you:
const sdk = getBuildingBlockSDK({
services: {
upload: {
baseUrl: "http://localhost:8008",
},
},
getTokenFn: await getM2MTokenFn({
services: {
upload: {
getOrganizationTokenParams: {
applicationId: "APPLICATION_ID",
applicationSecret: "APPLICATION_SECRET",
logtoOidcEndpoint: "http://localhost:3301/oidc",
organizationId: "ogcio",
},
},
},
}),
});
Using the m2m utility function like this will cause the SDK to request all the scopes available for the building-block, scopes can be overridden when passed as parameter:
const sdk = getBuildingBlockSDK({
services: {
upload: {
baseUrl: "http://localhost:8008",
},
},
getTokenFn: await getM2MTokenFn({
services: {
upload: {
getOrganizationTokenParams: {
applicationId: "APPLICATION_ID",
applicationSecret: "APPLICATION_SECRET",
logtoOidcEndpoint: "http://localhost:3301/oidc",
organizationId: "ogcio",
scopes: ["custom:role:1", "custom:role:2"],
},
},
},
}),
});
This project is built with the latest Node LTS, clone this repository and install the dependencies with:
npm install
The clients schemas are auto generated using open openapi-typescript.
you can update the json configuration clients for each client under: src/clients-configuration/clients-configuration.json,
then run:
npm run clients:update
to update the schemas. At this point you are ready to modify clients files and use the newly generated schemas
The code is formatted and linted with biome. If you use VS Code you can install the biome extension to get suggestions and auto-fix on save ( Ref: https://biomejs.dev/guides/editors/first-party-extensions/)
To check the formatting and linting errors run:
npm run check:formatting
npm run check:linting
To fix the formatting and linting errors run:
npm run fix:formatting
npm run fix:linting
FAQs
OGCIO Building Blocks SDK
The npm package @ogcio/building-blocks-sdk receives a total of 593 weekly downloads. As such, @ogcio/building-blocks-sdk popularity was classified as not popular.
We found that @ogcio/building-blocks-sdk demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 8 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
PyPI adds Trusted Publishing support for GitLab Self-Managed as adoption reaches 25% of uploads

Research
/Security News
A malicious Chrome extension posing as an Ethereum wallet steals seed phrases by encoding them into Sui transactions, enabling full wallet takeover.

Security News
Socket is heading to London! Stop by our booth or schedule a meeting to see what we've been working on.