npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

com.deucarian.session.api-integration

v1.0.1-dev.2

Published

Integration package that exposes Deucarian Session tokens through Deucarian API authentication.

Readme

Deucarian Session API Integration

Overview

Deucarian Session API Integration is a Unity UPM package that connects Session to API authentication.

Package ID: com.deucarian.session.api-integration

Migration note: replace old manifest entries for com.deucarian.session.api-bridge with com.deucarian.session.api-integration. The source repository URL still uses Session-API-Bridge.git until the GitHub repository is renamed.

Use this package when a Unity project already uses both:

  • com.deucarian.session
  • com.deucarian.api

The integration provides SessionAuthProvider, an API IApiAuthProvider implementation backed by an ISessionService.

No scripting define symbols are required.

Installation

Install this integration package alongside Session and API:

{
  "dependencies": {
    "com.deucarian.session": "https://github.com/Deucarian/Session.git#main",
    "com.deucarian.api": "https://github.com/Deucarian/API.git#main",
    "com.deucarian.session.api-integration": "https://github.com/Deucarian/Session-API-Bridge.git#main"
  }
}

For development builds, use the develop branch refs for each package.

Dependencies

This package depends on:

  • com.deucarian.session
  • com.deucarian.api

It does not replace either package. It only adapts Session's current session token to API's authentication contract.

Public API

  • SessionAuthProvider: implements API's IApiAuthProvider and reads tokens from an ISessionService.

Usage

using Deucarian.API.Core;
using Deucarian.Session;
using Deucarian.Session.APIIntegration;

ISessionService sessionService = new SessionService(
    new PlayerPrefsSessionStore("my-game.session"),
    new MyRefreshService());

var authProvider = new SessionAuthProvider(sessionService);
IApiClient apiClient = ApiClientFactory.Create(apiClientConfig, authProvider);

SessionAuthProvider returns the access token without the Bearer prefix. API owns the authorization header formatting.

Refresh Behavior

By default, SessionAuthProvider attempts ISessionService.RefreshAsync when the current access token is expired or expiring soon.

var authProvider = new SessionAuthProvider(
    sessionService,
    refreshIfExpiredOrExpiringSoon: true);

Disable refresh attempts by passing false:

var authProvider = new SessionAuthProvider(
    sessionService,
    refreshIfExpiredOrExpiringSoon: false);

If refresh fails, the provider does not throw or clear the session itself. It returns based on the ISessionService state after the refresh attempt:

  • Expired sessions return null.
  • Still-valid expiring-soon sessions may return the current token when SessionRefreshFailurePolicy.PreserveSession keeps the session authenticated.

Samples

The package contains one sample:

  • Basic API Integration Usage
  • Path: Samples~/BasicUsage
  • Script: SessionAuthProviderSample

The sample uses fake session data and a fake refresh service. It does not make backend calls.

What This Package Does Not Own

  • Session storage.
  • Login and refresh backend calls.
  • API request execution.
  • Authorization header formatting.
  • API package behavior.
  • Session core runtime APIs.