Skip to content
This repository has been archived by the owner on Oct 2, 2024. It is now read-only.

MOSIP fixes #75

Closed
wants to merge 15 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 12 additions & 12 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@sphereon/did-auth-siop",
"version": "0.6.0-unstable.9",
"version": "0.6.0-unstable.10",
"source": "src/index.ts",
"main": "dist/index.js",
"types": "dist/index.d.ts",
Expand Down Expand Up @@ -46,20 +46,22 @@
"uuid": "^9.0.0"
},
"devDependencies": {
"@babel/core": "^7.23.9",
"@babel/plugin-transform-runtime": "^7.16.0",
"@babel/preset-env": "^7.16.0",
"@cef-ebsi/ebsi-did-resolver": "^3.2.0",
"@cef-ebsi/key-did-resolver": "^1.1.0",
"@cef-ebsi/oauth2-auth": "^3.0.0",
"@cef-ebsi/siop-auth": "^4.0.0",
"@cef-ebsi/verifiable-presentation": "^6.1.0",
"@cef-ebsi/wallet-lib": "^4.2.0",
"@digitalcredentials/did-method-key": "^2.0.3",
"@digitalcredentials/ed25519-signature-2020": "^3.0.2",
"@digitalcredentials/jsonld-signatures": "^9.3.2",
"@digitalcredentials/vc": "^6.0.0",
"@transmute/did-key-ed25519": "^0.3.0-unstable.10",
"@transmute/ed25519-key-pair": "0.7.0-unstable.82",
"@transmute/ed25519-signature-2018": "^0.7.0-unstable.82",
"@transmute/did-key-ed25519": "^0.3.0-unstable.10",
"@cef-ebsi/wallet-lib": "^4.2.0",
"@cef-ebsi/siop-auth": "^4.0.0",
"@cef-ebsi/oauth2-auth": "^3.0.0",
"@cef-ebsi/ebsi-did-resolver": "^3.2.0",
"@cef-ebsi/key-did-resolver": "^1.1.0",
"@cef-ebsi/verifiable-presentation": "^6.1.0",
"did-resolver": "^4.1.0",
"@types/jest": "^29.5.11",
"@types/language-tags": "^1.0.4",
"@types/qs": "^6.9.11",
Expand All @@ -71,14 +73,12 @@
"bs58": "^5.0.0",
"codecov": "^3.8.3",
"cspell": "^6.26.3",
"did-resolver": "^4.1.0",
"dotenv": "^16.3.1",
"eslint": "^8.34.0",
"eslint-config-prettier": "^8.6.0",
"eslint-plugin-eslint-comments": "^3.2.0",
"eslint-plugin-import": "^2.27.5",
"@babel/core": "^7.23.9",
"@babel/plugin-transform-runtime": "^7.16.0",
"@babel/preset-env": "^7.16.0",
"ethers": "^6.10.0",
"jest": "^29.7.0",
"jest-junit": "^16.0.0",
Expand Down
4 changes: 2 additions & 2 deletions src/authorization-response/AuthorizationResponse.ts
Original file line number Diff line number Diff line change
Expand Up @@ -137,8 +137,8 @@ export class AuthorizationResponse {
const verifiedIdToken = await this.idToken?.verify(verifyOpts);
const oid4vp = await verifyPresentations(this, verifyOpts);

const nonce = merged.nonce ?? verifiedIdToken.payload.nonce ?? oid4vp.nonce;
const state = merged.state ?? verifiedIdToken.payload.state;
const nonce = merged.nonce ?? verifiedIdToken?.payload.nonce ?? oid4vp.nonce;
const state = merged.state ?? verifiedIdToken?.payload.state;

if (!state) {
throw Error(`State is required`);
Expand Down
7 changes: 5 additions & 2 deletions src/authorization-response/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,9 +89,12 @@ export enum VPTokenLocation {

export type PresentationVerificationResult = { verified: boolean };

export type PresentationVerificationCallback = (args: W3CVerifiablePresentation, presentationSubmissionn) => Promise<PresentationVerificationResult>;
export type PresentationVerificationCallback = (
args: W3CVerifiablePresentation | CompactSdJwtVc,
presentationSubmission: PresentationSubmission
) => Promise<PresentationVerificationResult>;

export type PresentationSignCallback = (args: PresentationSignCallBackParams) => Promise<W3CVerifiablePresentation>;
export type PresentationSignCallback = (args: PresentationSignCallBackParams) => Promise<W3CVerifiablePresentation | CompactSdJwtVc>;

export interface VerifyAuthorizationResponseOpts {
correlationId: string;
Expand Down
1 change: 1 addition & 0 deletions src/request-object/Payload.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@ export const createRequestObjectPayload = async (opts: CreateAuthorizationReques
//TODO implement /.well-known/openid-federation support in the OP side to resolve the client_id (URL) and retrieve the metadata
client_id: clientId ?? opts.requestObject.signature.did,
redirect_uri: payload.redirect_uri,
response_uri: payload.response_uri,
response_mode: payload.response_mode ?? ResponseMode.DIRECT_POST,
...(payload.id_token_hint && { id_token_hint: payload.id_token_hint }),
registration_uri: registration.clientMetadataOpts.reference_uri,
Expand Down
4 changes: 2 additions & 2 deletions src/rp/RP.ts
Original file line number Diff line number Diff line change
Expand Up @@ -237,14 +237,14 @@ export class RP {
throw Error(`A response or redirect URI is required at this point`);
} else {
if (responseURIType === 'redirect_uri') {
if (this._createRequestOptions?.requestObject?.payload && !this._createRequestOptions.requestObject?.payload?.redirect_uri) {
if (this._createRequestOptions?.requestObject?.payload /*&& !this._createRequestOptions.requestObject?.payload?.redirect_uri*/) {
this._createRequestOptions.requestObject.payload.redirect_uri = responseURI;
}
if (!referenceURI && !this._createRequestOptions.payload?.redirect_uri) {
this._createRequestOptions.payload.redirect_uri = responseURI;
}
} else if (responseURIType === 'response_uri') {
if (this._createRequestOptions?.requestObject?.payload && !this._createRequestOptions.requestObject?.payload?.response_uri) {
if (this._createRequestOptions?.requestObject?.payload /*&& !this._createRequestOptions.requestObject?.payload?.response_uri*/) {
this._createRequestOptions.requestObject.payload.response_uri = responseURI;
}
if (!referenceURI && !this._createRequestOptions.payload?.response_uri) {
Expand Down
Loading