inrupt / inrupt/solid-client-authn-js

Expose the current issuer

Open
#2,153 10 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
77
Forks
49
Avg merge
18h 20m
Merged PRs (30d)
32

Description

Search terms you've used

issuer

Impacted environment

In which environment would the proposed feature apply ?

  • The browser
  • Node.js
  • Other (please specify): ...
  • I'm not sure.
Feature suggestion

[...] "retrieve the current issuer from the session" [and] expose that via the ISessionInfo interface, potentially

In certain cases, it may be useful for an App to know the OIDC issuer which was used to authenticate current user.

E.g. a user with webId https://someuser.solidcommunity.net/profile/card#me may have an issuer https://solidcommunity.net, and we want to know that.

Expected functionality/enhancement

Currently, ISessionInfo doesn't expose issuer, and it could.
The issuer is exposed within the Authorization header of the fetch function as iss property of a JWT token. It's also exposed in localStorage, however i'm told this is going to change.

Actual functionality/enhancement

Expose the current issuer in ISessionInfo (or in other standard way)

Use Cases
  • As of now, some OIDC Identity Providers (typically https://solidcommunity.net and other NSS-based servers) don't include solid:oidcIssuer in personal profile documents. This is sufficient for authenticating into NSS Pods, but fails when authenticating using e.g. @solid/access-token-verifier.
    So, sometimes an app needs to fix such incomplete profile document (if it can), to make it compliant. Hence, it needs to know the issuer.

  • Also, perhaps an app wants to show the current issuer in UI... 🤷🏾‍♀️


ping @jeff-zucker

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reading the ISessionInfo interface and the fetch function documentation linked in the issue, then trace where session information and the Authorization header are assembled for browser and Node.js. Confirm how the issuer is currently represented and identify the relevant authentication tests or entry points. Done means the current OIDC issuer is exposed through the agreed session API and is covered for both environments.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, authentication
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.