@privy-io/js-sdk-core 0.15.3 → 0.16.0-beta-20240405165832

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -407,16 +407,16 @@ declare class OAuthApi {
407
407
  * Logs a user in via successfull OAuth flow codes
408
408
  *
409
409
  * @param authorizationCode The code generated by the authorization server
410
- * @param stateCode The state value initially set in the request by Privy to the authorization server
410
+ * @param returnedStateCode The state value initially set in the request by Privy to the authorization server
411
411
  */
412
- loginWithCode(authorizationCode: string, stateCode: string): Promise<import("@privy-io/public-api").PrivyAuthenticatedUser>;
412
+ loginWithCode(authorizationCode: string, returnedStateCode: string, provider?: OAuthProviderType): Promise<import("@privy-io/public-api").PrivyAuthenticatedUser>;
413
413
  /**
414
414
  * Links an OAuth account to an existing user
415
415
  *
416
416
  * @param authorizationCode The code generated by the authorization server
417
- * @param stateCode The state value initially set in the request by Privy to the authorization server
417
+ * @param returnedStateCode The state value initially set in the request by Privy to the authorization server
418
418
  */
419
- linkWithCode(authorizationCode: string, stateCode: string): Promise<import("@privy-io/public-api").PrivyUser>;
419
+ linkWithCode(authorizationCode: string, returnedStateCode: string, provider?: OAuthProviderType): Promise<import("@privy-io/public-api").PrivyUser>;
420
420
  /**
421
421
  * Un-links an OAuth account from an existing user
422
422
  *
@@ -1 +1 @@
1
- {"mappings":";;;;;;AAEA,cAAc,OAAO,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAE7D,uBACI,oCAAoC,GACpC,qCAAqC,GACrC,oDAAoD,GACpD,mDAAmD,GACnD,qCAAqC,GACrC,4CAA4C,GAC5C,oDAAoD,GACpD,wBAAwB,MAAM,0BAA0B,GACxD,kBAAkB,MAAM,mBAAmB,GAC3C,gCAAgC,GAChC,gCAAgC,GAChC,gCAAgC,GAChC,oCAAoC,GACpC,+BAA+B,GAC/B,gCAAgC,GAChC,gCAAgC,GAChC,0BAA0B,GAC1B,0BAA0B,CAAC;AAE/B,eAAsB,CAAC,SAAS,cAAc,GAAG,eAAe,IAAI;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAC,CAAC;AAE7F,uBAA8B,UAAU,cAAc,CAAC,CAAC;AAExD,0BAA2B,SAAQ,KAAK;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,cAAc,CAAC;gBAET,EAAC,KAAK,EAAE,IAAI,EAAC,EAAE,eAAe;CAK3C;AAED,6BAA8B,SAAQ,KAAK;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,eAAe,CAAC;gBAEV,EAAC,KAAK,EAAE,IAAI,EAAC,EAAE,UAAU,eAAe,CAAC;CAKtD;AEhDD;IACE,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,IAAI,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACzC;AKLD;;;GAGG;AACH,eAAe;IACb,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,sBAAsB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,qBAAqB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,mBAAmB,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,CAAC;AAErD;;GAEG;AACH,oBAAoB;IAClB,wBAAwB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,cAAc,EAAE,cAAc,CAAC;IAC/B,oCAAoC;IACpC,cAAc,CAAC,EAAE;QACf,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC;QAC7B,OAAO,EAAE,aAAa,CAAC;KACxB,CAAC;IACF,kCAAkC;IAClC,OAAO,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QACvB,OAAO,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;;GAIG;AACH,wBAAwB;IACtB;;;OAGG;IACH,OAAO,EAAE;QACP,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;CACH,CAAC;A2B/BF,OAAO,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BH,CAAC;AAGX,OAAO,MAAM,29BAkCH,CAAC;AAGX,OAAO,MAAM,wCAEZ,CAAC;ACrGF,mBAA0B,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;ACsC3C,gBAAuB,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAGhD,kCAAyC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,QAAQ,CAAC;IAEjB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAEpB,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAElC,KAAK,CAAC,EAAE,QAAQ,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,IAAI,CAAC,EAAE,MAAM,CAAC;IAGd,UAAU,CAAC,EACP,KAAK,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;KAAC,CAAC,GACpD,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAC9B,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAGlC,oBAAoB,CAAC,EAAE,QAAQ,CAAC;IAChC,YAAY,CAAC,EAAE,QAAQ,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;GAUG;AACH,6CAAoD,0BAA0B,GAAG;IAC/E,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAkDF;IACE,MAAM,EAAE,gCAAgC,CAAC;IACzC,IAAI,EAAE,0BAA0B,CAAC;CAClC;AAYD;IACE,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd;AAOD;IACE,MAAM,EAAE,eAAe,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;IACE,MAAM,EAAE,qBAAqB,CAAC;IAC9B,IAAI,EAAE,MAAM,CAAC;CACd;AAYD;IACE,MAAM,EAAE,sBAAsB,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC;CACd;AAYD,uBACI,2BAA2B,GAC3B,sCAAsC,GACtC,gBAAgB,GAChB,qBAAqB,GACrB,4BAA4B,CAAC;AAEjC,sBACI,oBAAoB,GACpB,qBAAqB,GACrB,sBAAsB,GACtB,sBAAsB,GACtB,kBAAkB,GAClB,oCAAoC,CAAC;AAEzC,4CAA4C,OAAO,GAAG,eAAe,GAAG,cAAc,CAAC;AAsCvF,mCAA0C,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAChE,oCAA2C;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC;AAC7D,qCAA4C;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC;AAC9D,qCAA4C;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC;AAC9D,iDAAwD;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC;AAC1E,iCAAwC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,eAAe,CAAA;CAAC,CAAC;AAUrF,QAAO,MAAM,4IAMH,CAAC;AACX,iCAAwC,CAAC,4BAA4B,CAAC,CAAC,MAAM,CAAC,CAAC;AAE/E;IACE,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,cAAc,CAAC;CACvB;AAED,qCAA6C,SAAQ,0BAA0B;IAC7E,KAAK,EAAE;QAAC,IAAI,EAAE,yBAAyB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAC,CAAC;CAC3D;AAED,sCAAuC,SAAQ,0BAA0B;IACvE,KAAK,EAAE,oBAAoB,CAAC;IAC5B,IAAI,EAAE,2BAA2B,CAAC;CACnC;AAED,uCAAwC,SAAQ,0BAA0B;IACxE,KAAK,EAAE,qBAAqB,CAAC;IAC7B,IAAI,EAAE,4BAA4B,CAAC;CACpC;AAED,wCAAyC,SAAQ,0BAA0B;IACzE,KAAK,EAAE,sBAAsB,CAAC;IAC9B,IAAI,EAAE,6BAA6B,CAAC;CACrC;AAED,wCAAyC,SAAQ,0BAA0B;IACzE,KAAK,EAAE,sBAAsB,CAAC;IAC9B,IAAI,EAAE,6BAA6B,CAAC;CACrC;AAED,oDAAqD,SAAQ,0BAA0B;IACrF,KAAK,EAAE,oCAAoC,CAAC;IAC5C,IAAI,EAAE,yCAAyC,CAAC;CACjD;AAED,oCAAqC,SAAQ,0BAA0B;IACrE,KAAK,EAAE,kBAAkB,CAAC;IAC1B,IAAI,EAAE,yBAAyB,CAAC;CACjC;AAED,0BACI,4BAA4B,GAC5B,2BAA2B,GAC3B,6BAA6B,GAC7B,8BAA8B,GAC9B,8BAA8B,GAC9B,0CAA0C,GAC1C,0BAA0B,CAAC;AAgD/B,mCAA0C;IACxC,WAAW,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;CACpF,CAAC;AExWF;IACE,+BAA+B,oCAAoC;IACnE,mCAAmC,wCAAwC;IAC3E,YAAY,iBAAiB;IAC7B,sBAAsB,2BAA2B;IACjD,kBAAkB,uBAAuB;IACzC,iBAAiB,sBAAsB;IACvC,kBAAkB,uBAAuB;IACzC,qBAAqB,qBAAqB;IAC1C,qBAAqB,0BAA0B;IAC/C,4BAA4B,iCAAiC;IAC7D,4BAA4B,iCAAiC;IAC7D,sBAAsB,2BAA2B;IACjD,mBAAmB,wBAAwB;CAC5C;AAED,QAAO,QAAQ,iBAAkB,SAAQ,KAAK;IAC5C;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACM,KAAK,CAAC,EAAE,KAAK,CAAC;IAEvB;;OAEG;IACH,cAAc,CAAC,EAAE,4BAA4B,CAAC;IAE9C;;;;OAIG;IACH,SAAS,aACP,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,OAAO,EACf,cAAc,CAAC,EAAE,4BAA4B;IAW/B,QAAQ,IAAI,MAAM;CAKnC;AAED;;;;GAIG;AACH,8BAA8B,SAAQ,UAAU;IAC9C,IAAI,SAAoB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;gBAEZ,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;CAK1D;AAED,8BAA8B,SAAQ,KAAK;IACzC,IAAI,EAAE,yBAAyB,CAAC;gBAEpB,IAAI,EAAE,yBAAyB,EAAE,OAAO,EAAE,MAAM;CAI7D;AA8BD,+CAA+C,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAExF;AIwED,2CACE,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,qCAAqC,EAChD,QAAQ,EAAE,qBAAqB,kDA4KhC;AC5VD,2BAA2B;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,CAAC;AAC7C,6BAA6B,CAAC,WAAW,EAAE,mBAAmB,KAAK,IAAI,CAAC;AACxE,gCAAgC,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;AAClE,kCAAkC,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;AACrE,qCAAqC,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;AAClE,uBAAuB;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAC,CAAC;AACrD,6BAA6B,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;AAChE,6BACI,qBAAqB,GACrB,wBAAwB,GACxB,0BAA0B,GAC1B,6BAA6B,GAC7B,qBAAqB,CAAC;AAG1B;IACE,OAAO,EAAE,CAAC,OAAO,EAAE;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;KAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC9F,EAAE,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,qBAAqB,KAAK,OAAO,CAAC;IACpE,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,KAAK,OAAO,CAAC;CACjG;AAGD,wBAAwB;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,CAAA;CAAC,CAAC;AAU1E,oCAAoC,SAAQ,YAAa,YAAW,eAAe;IAoC3E,OAAO,CAAC,OAAO,EAAE,gBAAgB;IAkLvC,MAAM;CAIP;AEzQD,0CAA0C,sBAAsB,CAAC;AAIjE,uBAAuB,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAE3D,QAAA,MAAM,gDAAiD,CAAC;AACxD,uCAAuC,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,CAAC;AAErF,QAAA,MAAM,yFAA0F,CAAC;AACjG,uCAAuC,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,CAAC;AAErF,QAAA,MAAM,0DAA2D,CAAC;AAClE,uCAAuC,CAAC,mCAAmC,CAAC,CAAC,MAAM,CAAC,CAAC;AA2ErF,4CAA4C,CAAC,OAAO,kCAAkC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEhG,QAAA,MAAM,iDAAkD,CAAC;AACzD,sCAAsC,CAAC,kCAAkC,CAAC,CAAC,MAAM,CAAC,CAAC;AAInF,OAAO,MAAM,2tBAMZ,CAAC;AAEF,+BACI,wBAAwB,GACxB,wBAAwB,GACxB,6BAA6B,GAC7B,wBAAwB,GACxB,uBAAuB,CAAC;AAE5B,OAAO,MAAM,sHAMH,CAAC;AAEX,4BAA4B,CAAC,gCAAgC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEvE,6BAA6B;IAC3B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,EAAE,EAAE,MAAM,CAAC;IACX,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qCAAqC;IACnC,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,EAAE,EAAE,MAAM,CAAC;IACX,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,6BAA6B;IAC3B,0FAA0F;IAC1F,OAAO,EAAE,MAAM,CAAC;IAChB,4JAA4J;IAC5J,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;OAGG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,IAAI,CAAC,EAAE,sBAAsB,CAAC;CAC/B,CAAC;AG3JF;IAaE;;;;OAIG;IACU,aAAa,CAAC,KAAK,EAAE,MAAM;CASzC;ACtBD;IAaE;;;;;OAKG;IACU,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAInD;;;;;OAKG;IACU,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAatD;;;;;OAKG;IACU,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAMxC,MAAM,CAAC,KAAK,EAAE,MAAM;CAKlC;AC1DD;IAaE;;;;;;OAMG;IACU,WAAW,CAAC,QAAQ,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM;IAKzE;;;;;OAKG;IACU,aAAa,CAAC,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAavE;;;;;OAKG;IACU,YAAY,CAAC,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAStE;;;;;OAKG;IACU,MAAM,CAAC,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM;CAKjE;ACxED;IAaE;;OAEG;IACU,2BAA2B,CAAC,YAAY,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAU9D;;OAEG;IACU,6BAA6B,CAAC,YAAY,CAAC,EAAE,MAAM;;;;;;;;;;;;;;;;;;;IAUhE;;;;OAIG;IACU,gBAAgB,CAC3B,KAAK,EAAE,0BAA0B,EACjC,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,sBAAsB,CAAC;IAkClC;;;;OAIG;IACU,eAAe,CAC1B,KAAK,EAAE,wBAAwB,EAC/B,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,SAAS,CAAC;CA8BtB;ACvHD;IAaE;;;;;OAKG;IACU,QAAQ,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAIzD;;;;;OAKG;IACU,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAY5D;;;;;OAKG;IACU,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM;IAM9C,MAAM,CAAC,WAAW,EAAE,MAAM;CAKxC;AC9DD;;;;;GAKG;AACH;IAyBE;;;;OAIG;IACG,YAAY;IAChB;;OAEG;IACH,SAAS,EAAE,MAAM;IACjB;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc;IAC/B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,SAAS,CAAC;IAkCrB;;;;OAIG;IACG,aAAa;IACjB;;OAEG;IACH,SAAS,EAAE,MAAM;IACjB;;OAEG;IACH,cAAc,CAAC,EAAE,cAAc;IAC/B;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC;QAAC,IAAI,EAAE,SAAS,CAAC;QAAC,SAAS,EAAE,OAAO,CAAA;KAAC,CAAC;IA2CjD;;;;OAIG;IACG,IAAI;IACR,0GAA0G;IAC1G,MAAM,EAAE,cAAc;IACtB,yGAAyG;IACzG,MAAM,EAAE,MAAM;IACd,iIAAiI;IACjI,GAAG,EAAE,MAAM;;;;CAqBd;AC3KD;IAME;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IAEzB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAc7B;;OAEG;IACU,MAAM;CAcpB;ACzDD;IAgDE;;;;;OAKG;IACU,MAAM,CACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,6BAA6B,EAC9C,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,sBAAsB,CAAC;IAyDrB,iBAAiB,IAAI,OAAO,CAAC,OAAO,CAAC;IAUrC,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IA4BnD;;;;;;OAMG;IACU,WAAW,CACtB,MAAM,EAAE,kCAAkC,EAC1C,QAAQ,CAAC,EAAE,MAAM,EACjB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,sBAAsB,CAAC;IAelC;;;;;;OAMG;IACU,WAAW,CACtB,MAAM,EAAE,kCAAkC,EAC1C,QAAQ,EAAE,MAAM,EAChB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,CAAC,sBAAsB,CAAC;IAoClC;;OAEG;IACI,MAAM;IAQb;;;;;;;OAOG;IACI,iBAAiB,IAAI,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI;CAgHhE;AG5WD;IA6BE;;;;;OAKG;IACU,WAAW,CAAC,WAAW,EAAE,MAAM;IAsB5C;;;;;OAKG;IACU,SAAS,CAAC,iBAAiB,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;CAgC5E;ACrGD;IAME;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;CAYjC;ACxBD;IAaE;;OAEG;IACU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQjB;ACZD;;GAEG;AACH,oBAA2B;IACzB,wCAAwC;IACxC,OAAO,EAAE,OAAO,CAAC;IAEjB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IAEd,gEAAgE;IAChE,2BAA2B,CAAC,EAAE,2BAA2B,CAAC;IAE1D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,eAAe,CAAC,EAAE,cAAc,KAAK,CAAC,CAAC;CA2BxC,CAAC;AAEF;;GAEG;AACH;IACE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,iBAAiB,CAAC;IAE3C;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAO/B,kCAAkC;gBACf,CAAC,EAAE,YAAY;IAY3B,gBAAgB,CAAC,MAAM,EAAE,2BAA2B,GAAG,IAAI;IAI3D,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAGhD;ACrID,yBAA0B,YAAW,OAAO;IACpC,GAAG,CAAC,GAAG,EAAE,MAAM;IAKrB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;IAQ7B,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,OAAO;CAGR;ACrBD,0BAA2B,YAAW,OAAO;IAG3C,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO;IAQ7B,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,OAAO;CAGR;ACtBD;;;;;;;;;;GAUG;AACH,OAAO,MAAM,8BACL,SAAS,GAAG,IAAI,KACrB,oCAAkC,GAAG,IAWvC,CAAC;ACxBF,YAAY,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAY5D,eAAe,KAAK,CAAC","sources":["packages-js-public/js-sdk-core/src/src/Error.ts","packages-js-public/js-sdk-core/src/src/Token.ts","packages-js-public/js-sdk-core/src/src/storage/Storage.ts","packages-js-public/js-sdk-core/src/src/Session.ts","packages-js-public/js-sdk-core/src/src/toAbortSignalTimeout.ts","packages-js-public/js-sdk-core/src/src/chains/arbitrum.ts","packages-js-public/js-sdk-core/src/src/chains/arbitrumGoerli.ts","packages-js-public/js-sdk-core/src/src/chains/types.ts","packages-js-public/js-sdk-core/src/src/chains/arbitrumSepolia.ts","packages-js-public/js-sdk-core/src/src/chains/avalanche.ts","packages-js-public/js-sdk-core/src/src/chains/avalancheFuji.ts","packages-js-public/js-sdk-core/src/src/chains/base.ts","packages-js-public/js-sdk-core/src/src/chains/baseGoerli.ts","packages-js-public/js-sdk-core/src/src/chains/baseSepolia.ts","packages-js-public/js-sdk-core/src/src/chains/berachainArtio.ts","packages-js-public/js-sdk-core/src/src/chains/celo.ts","packages-js-public/js-sdk-core/src/src/chains/celoAlfajores.ts","packages-js-public/js-sdk-core/src/src/chains/filecoin.ts","packages-js-public/js-sdk-core/src/src/chains/filecoinCalibration.ts","packages-js-public/js-sdk-core/src/src/chains/goerli.ts","packages-js-public/js-sdk-core/src/src/chains/holesky.ts","packages-js-public/js-sdk-core/src/src/chains/linea.ts","packages-js-public/js-sdk-core/src/src/chains/lineaTestnet.ts","packages-js-public/js-sdk-core/src/src/chains/mainnet.ts","packages-js-public/js-sdk-core/src/src/chains/optimism.ts","packages-js-public/js-sdk-core/src/src/chains/optimismGoerli.ts","packages-js-public/js-sdk-core/src/src/chains/optimismSepolia.ts","packages-js-public/js-sdk-core/src/src/chains/polygon.ts","packages-js-public/js-sdk-core/src/src/chains/polygonMumbai.ts","packages-js-public/js-sdk-core/src/src/chains/redstoneHolesky.ts","packages-js-public/js-sdk-core/src/src/chains/sepolia.ts","packages-js-public/js-sdk-core/src/src/chains/zora.ts","packages-js-public/js-sdk-core/src/src/chains/zoraSepolia.ts","packages-js-public/js-sdk-core/src/src/chains/zoraTestnet.ts","packages-js-public/js-sdk-core/src/src/chains/index.ts","packages-js-public/js-sdk-core/src/src/utils/NonEmptyArray.ts","packages-js-public/js-sdk-core/src/src/embedded/types.ts","packages-js-public/js-sdk-core/src/src/embedded/EventCallbackQueue.ts","packages-js-public/js-sdk-core/src/src/embedded/errors.ts","packages-js-public/js-sdk-core/src/src/embedded/EmebeddedWalletProxy.ts","packages-js-public/js-sdk-core/src/src/embedded/methods.ts","packages-js-public/js-sdk-core/src/src/embedded/polygonGasStation.ts","packages-js-public/js-sdk-core/src/src/embedded/utils.ts","packages-js-public/js-sdk-core/src/src/embedded/EmbeddedWalletProvider.ts","packages-js-public/js-sdk-core/src/src/embedded/index.ts","packages-js-public/js-sdk-core/src/src/types.ts","packages-js-public/js-sdk-core/src/src/utils/getHttpOnlyHeaderCookies.ts","packages-js-public/js-sdk-core/src/src/PrivyInternal.ts","packages-js-public/js-sdk-core/src/src/CustomProviderApi.ts","packages-js-public/js-sdk-core/src/src/EmailApi.ts","packages-js-public/js-sdk-core/src/src/OAuthApi.ts","packages-js-public/js-sdk-core/src/src/PasskeyApi.ts","packages-js-public/js-sdk-core/src/src/PhoneApi.ts","packages-js-public/js-sdk-core/src/src/SiweApi.ts","packages-js-public/js-sdk-core/src/src/AuthApi.ts","packages-js-public/js-sdk-core/src/src/EmbeddedWalletApi.ts","packages-js-public/js-sdk-core/src/src/crypto/types.ts","packages-js-public/js-sdk-core/src/src/pkce.ts","packages-js-public/js-sdk-core/src/src/RecoveryOAuthApi.ts","packages-js-public/js-sdk-core/src/src/RecoveryApi.ts","packages-js-public/js-sdk-core/src/src/UserApi.ts","packages-js-public/js-sdk-core/src/src/Privy.ts","packages-js-public/js-sdk-core/src/src/storage/LocalStorage.ts","packages-js-public/js-sdk-core/src/src/storage/InMemoryStorage.ts","packages-js-public/js-sdk-core/src/src/utils/getUserEmbeddedWallet.ts","packages-js-public/js-sdk-core/src/src/index.ts","packages-js-public/js-sdk-core/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import Privy from './Privy';\n\nexport type {OAuthProviderType} from '@privy-io/public-api';\nexport type {default as Storage} from './storage/Storage';\nexport {LocalStorage} from './storage/LocalStorage';\nexport {InMemoryCache} from './storage/InMemoryStorage';\nexport {PrivyApiError, PrivyClientError} from './Error';\nexport {PrivyEmbeddedWalletErrorCode, errorIndicatesRecoveryIsNeeded} from './embedded/errors';\nexport {getUserEmbeddedWallet} from './utils/getUserEmbeddedWallet';\nexport {populateTransactionRequest} from './embedded/utils';\n\nexport * from './types';\nexport * from './chains';\n\nexport default Privy;\n"],"names":[],"version":3,"file":"index.d.ts.map"}
1
+ {"mappings":"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","sources":["packages-js-public/js-sdk-core/src/src/Error.ts","packages-js-public/js-sdk-core/src/src/Token.ts","packages-js-public/js-sdk-core/src/src/storage/Storage.ts","packages-js-public/js-sdk-core/src/src/Session.ts","packages-js-public/js-sdk-core/src/src/toAbortSignalTimeout.ts","packages-js-public/js-sdk-core/src/src/chains/arbitrum.ts","packages-js-public/js-sdk-core/src/src/chains/arbitrumGoerli.ts","packages-js-public/js-sdk-core/src/src/chains/types.ts","packages-js-public/js-sdk-core/src/src/chains/arbitrumSepolia.ts","packages-js-public/js-sdk-core/src/src/chains/avalanche.ts","packages-js-public/js-sdk-core/src/src/chains/avalancheFuji.ts","packages-js-public/js-sdk-core/src/src/chains/base.ts","packages-js-public/js-sdk-core/src/src/chains/baseGoerli.ts","packages-js-public/js-sdk-core/src/src/chains/baseSepolia.ts","packages-js-public/js-sdk-core/src/src/chains/berachainArtio.ts","packages-js-public/js-sdk-core/src/src/chains/celo.ts","packages-js-public/js-sdk-core/src/src/chains/celoAlfajores.ts","packages-js-public/js-sdk-core/src/src/chains/filecoin.ts","packages-js-public/js-sdk-core/src/src/chains/filecoinCalibration.ts","packages-js-public/js-sdk-core/src/src/chains/goerli.ts","packages-js-public/js-sdk-core/src/src/chains/holesky.ts","packages-js-public/js-sdk-core/src/src/chains/linea.ts","packages-js-public/js-sdk-core/src/src/chains/lineaTestnet.ts","packages-js-public/js-sdk-core/src/src/chains/mainnet.ts","packages-js-public/js-sdk-core/src/src/chains/optimism.ts","packages-js-public/js-sdk-core/src/src/chains/optimismGoerli.ts","packages-js-public/js-sdk-core/src/src/chains/optimismSepolia.ts","packages-js-public/js-sdk-core/src/src/chains/polygon.ts","packages-js-public/js-sdk-core/src/src/chains/polygonMumbai.ts","packages-js-public/js-sdk-core/src/src/chains/redstoneHolesky.ts","packages-js-public/js-sdk-core/src/src/chains/sepolia.ts","packages-js-public/js-sdk-core/src/src/chains/zora.ts","packages-js-public/js-sdk-core/src/src/chains/zoraSepolia.ts","packages-js-public/js-sdk-core/src/src/chains/zoraTestnet.ts","packages-js-public/js-sdk-core/src/src/chains/index.ts","packages-js-public/js-sdk-core/src/src/utils/NonEmptyArray.ts","packages-js-public/js-sdk-core/src/src/embedded/types.ts","packages-js-public/js-sdk-core/src/src/embedded/EventCallbackQueue.ts","packages-js-public/js-sdk-core/src/src/embedded/errors.ts","packages-js-public/js-sdk-core/src/src/embedded/EmebeddedWalletProxy.ts","packages-js-public/js-sdk-core/src/src/embedded/methods.ts","packages-js-public/js-sdk-core/src/src/embedded/polygonGasStation.ts","packages-js-public/js-sdk-core/src/src/embedded/utils.ts","packages-js-public/js-sdk-core/src/src/embedded/EmbeddedWalletProvider.ts","packages-js-public/js-sdk-core/src/src/embedded/index.ts","packages-js-public/js-sdk-core/src/src/types.ts","packages-js-public/js-sdk-core/src/src/utils/getHttpOnlyHeaderCookies.ts","packages-js-public/js-sdk-core/src/src/PrivyInternal.ts","packages-js-public/js-sdk-core/src/src/CustomProviderApi.ts","packages-js-public/js-sdk-core/src/src/EmailApi.ts","packages-js-public/js-sdk-core/src/src/crypto/types.ts","packages-js-public/js-sdk-core/src/src/pkce.ts","packages-js-public/js-sdk-core/src/src/OAuthApi.ts","packages-js-public/js-sdk-core/src/src/PasskeyApi.ts","packages-js-public/js-sdk-core/src/src/PhoneApi.ts","packages-js-public/js-sdk-core/src/src/SiweApi.ts","packages-js-public/js-sdk-core/src/src/AuthApi.ts","packages-js-public/js-sdk-core/src/src/EmbeddedWalletApi.ts","packages-js-public/js-sdk-core/src/src/RecoveryOAuthApi.ts","packages-js-public/js-sdk-core/src/src/RecoveryApi.ts","packages-js-public/js-sdk-core/src/src/UserApi.ts","packages-js-public/js-sdk-core/src/src/Privy.ts","packages-js-public/js-sdk-core/src/src/storage/LocalStorage.ts","packages-js-public/js-sdk-core/src/src/storage/InMemoryStorage.ts","packages-js-public/js-sdk-core/src/src/utils/getUserEmbeddedWallet.ts","packages-js-public/js-sdk-core/src/src/index.ts","packages-js-public/js-sdk-core/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import Privy from './Privy';\n\nexport type {OAuthProviderType} from '@privy-io/public-api';\nexport type {default as Storage} from './storage/Storage';\nexport {LocalStorage} from './storage/LocalStorage';\nexport {InMemoryCache} from './storage/InMemoryStorage';\nexport {PrivyApiError, PrivyClientError} from './Error';\nexport {PrivyEmbeddedWalletErrorCode, errorIndicatesRecoveryIsNeeded} from './embedded/errors';\nexport {getUserEmbeddedWallet} from './utils/getUserEmbeddedWallet';\nexport {populateTransactionRequest} from './embedded/utils';\n\nexport * from './types';\nexport * from './chains';\n\nexport default Privy;\n"],"names":[],"version":3,"file":"index.d.ts.map"}
package/dist/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  var $bwzhE$privyiopublicapi = require("@privy-io/public-api");
2
+ var $bwzhE$jose = require("jose");
2
3
  var $bwzhE$eventemitter3 = require("eventemitter3");
3
4
  var $bwzhE$ethersprojectabstractsigner = require("@ethersproject/abstract-signer");
4
5
  var $bwzhE$ethersprojectbignumber = require("@ethersproject/bignumber");
@@ -8,7 +9,6 @@ var $bwzhE$fetchretry = require("fetch-retry");
8
9
  var $bwzhE$uuid = require("uuid");
9
10
  var $bwzhE$privyioapibase = require("@privy-io/api-base");
10
11
  var $bwzhE$jscookie = require("js-cookie");
11
- var $bwzhE$jose = require("jose");
12
12
  var $bwzhE$setcookieparser = require("set-cookie-parser");
13
13
 
14
14
 
@@ -145,11 +145,70 @@ class $1f21db1ab6fece0e$export$2e2bcd8739ae039 {
145
145
 
146
146
 
147
147
 
148
+ class $c3e99570b7f4dc3f$export$55a617531281a33a extends Error {
149
+ constructor({ error: error, code: code }){
150
+ super(error);
151
+ this.error = error;
152
+ this.code = code;
153
+ }
154
+ }
155
+ class $c3e99570b7f4dc3f$export$dfe83f5386c4bd02 extends Error {
156
+ constructor({ error: error, code: code }){
157
+ super(error);
158
+ this.code = code;
159
+ this.error = error;
160
+ }
161
+ }
162
+
163
+
164
+ /** This module is a port of the PKCE implementation in react-auth */
165
+ const $7eca82e1ac601538$var$DEFAULT_CODE_CHALLENGE_METHOD = "S256";
166
+ const $7eca82e1ac601538$var$S256_CODE_CHALLENGE_METHOD = "S256";
167
+ const $7eca82e1ac601538$export$71f689623592ddcf = "privy:state_code";
168
+ const $7eca82e1ac601538$export$317c4f00f26b42e2 = "privy:code_verifier";
169
+ async function $7eca82e1ac601538$export$f955f8b46bc09916(message, digest) {
170
+ const data = new TextEncoder().encode(message);
171
+ const hash = await digest("SHA-256", data);
172
+ return new Uint8Array(hash);
173
+ }
174
+ function $7eca82e1ac601538$export$5f828d93ff035aa8(size) {
175
+ return crypto.getRandomValues(new Uint8Array(size));
176
+ }
177
+ function $7eca82e1ac601538$export$4b3e330be6cd671d() {
178
+ // As specified here: https://datatracker.ietf.org/doc/html/rfc7636#section-4.1
179
+ // code_verifier = high-entropy cryptographic random STRING using the unreserved characters [A-Z] / [a-z] / [0-9] / "-" / "." / "_" / "~"
180
+ // [...] with a minimum length of 43 characters and a maximum length of 128 characters.
181
+ //
182
+ // 32 bytes gets us 256 bits, which results in 43 characters (6 bits per base64 character)
183
+ // This is what is recommended in the spec.
184
+ // In sanitizeCodeVerifier, we replace the base64 characters that are not allowed per the PKCE spec (above) for ones that are
185
+ return (0, $bwzhE$jose.base64url).encode($7eca82e1ac601538$export$5f828d93ff035aa8(36));
186
+ }
187
+ function $7eca82e1ac601538$export$eaf16c02ca227468() {
188
+ // For now, we are only using state_code to make sure we are communicating with the same server
189
+ // throughout the auth process (not to store any state), so we can use the same implementation of random string
190
+ // generation that we use for the code_verifier.
191
+ return $7eca82e1ac601538$export$4b3e330be6cd671d();
192
+ }
193
+ async function $7eca82e1ac601538$export$31f3d2c0aef14fc1({ codeVerifier: codeVerifier, method: method = $7eca82e1ac601538$var$DEFAULT_CODE_CHALLENGE_METHOD, digest: digest = crypto.subtle.digest }) {
194
+ if (method == $7eca82e1ac601538$var$S256_CODE_CHALLENGE_METHOD) {
195
+ // This is the happy and most likely path. As of 12/13/23 we only support S256 and I don't see that changing any time soon
196
+ const hashBuffer = await $7eca82e1ac601538$export$f955f8b46bc09916(codeVerifier, digest);
197
+ return (0, $bwzhE$jose.base64url).encode(hashBuffer);
198
+ } else // The only other supported method I've seen is plain, which does not have any translation, so we'll just return here
199
+ // This should really never happen, since we only support S256
200
+ // We do not support plain, but we'll be able to detect failure on the API side so there is no point failing loudly on the client
201
+ return codeVerifier;
202
+ }
203
+
204
+
148
205
  class $beeb9c2819ecb256$export$2e2bcd8739ae039 {
149
206
  /**
150
207
  * @internal
151
- */ constructor(privyInternal){
208
+ */ constructor(privyInternal, storage, crypto){
152
209
  this._privyInternal = privyInternal;
210
+ this._storage = storage;
211
+ this._crypto = crypto;
153
212
  }
154
213
  /**
155
214
  * Starts an OAuth flow with a specific provider
@@ -158,11 +217,22 @@ class $beeb9c2819ecb256$export$2e2bcd8739ae039 {
158
217
  * @param provider The OAuth provider
159
218
  * @param redirectURI The URL to redirect to after a successful OAuth flow
160
219
  */ async generateURL(provider, redirectURI) {
161
- // TODO(PKCE): implement PKCE similar to Recovery
220
+ const codeVerifier = (0, $7eca82e1ac601538$export$4b3e330be6cd671d)();
221
+ const stateCode = (0, $7eca82e1ac601538$export$eaf16c02ca227468)();
222
+ const codeChallenge = await (0, $7eca82e1ac601538$export$31f3d2c0aef14fc1)({
223
+ codeVerifier: codeVerifier,
224
+ digest: this._crypto?.digest
225
+ });
226
+ await Promise.all([
227
+ this._storage.put((0, $7eca82e1ac601538$export$317c4f00f26b42e2), codeVerifier),
228
+ this._storage.put((0, $7eca82e1ac601538$export$71f689623592ddcf), stateCode)
229
+ ]);
162
230
  return this._privyInternal.fetch((0, $bwzhE$privyiopublicapi.initOAuth), {
163
231
  body: {
164
232
  redirect_to: redirectURI,
165
- provider: provider
233
+ provider: provider,
234
+ code_challenge: codeChallenge,
235
+ state_code: stateCode
166
236
  }
167
237
  });
168
238
  }
@@ -170,34 +240,76 @@ class $beeb9c2819ecb256$export$2e2bcd8739ae039 {
170
240
  * Logs a user in via successfull OAuth flow codes
171
241
  *
172
242
  * @param authorizationCode The code generated by the authorization server
173
- * @param stateCode The state value initially set in the request by Privy to the authorization server
174
- */ async loginWithCode(authorizationCode, stateCode) {
175
- // TODO(PKCE): implement PKCE similar to Recovery
243
+ * @param returnedStateCode The state value initially set in the request by Privy to the authorization server
244
+ */ async loginWithCode(authorizationCode, returnedStateCode, provider) {
245
+ const [codeVerifier, storedStateCode] = await Promise.all([
246
+ this._storage.get((0, $7eca82e1ac601538$export$317c4f00f26b42e2)),
247
+ this._storage.get((0, $7eca82e1ac601538$export$71f689623592ddcf))
248
+ ]);
249
+ if (storedStateCode !== returnedStateCode) {
250
+ // Create an AnalyticsEvent for this so we can have some visibility.
251
+ this._privyInternal.createAnalyticsEvent("possible_phishing_attempt", {
252
+ flow: "oauth",
253
+ provider: provider,
254
+ storedStateCode: storedStateCode ?? "",
255
+ returnedStateCode: returnedStateCode ?? ""
256
+ });
257
+ throw new (0, $c3e99570b7f4dc3f$export$dfe83f5386c4bd02)({
258
+ code: "pkce_state_code_mismatch",
259
+ error: "Unexpected auth flow. This may be a phishing attempt."
260
+ });
261
+ }
176
262
  const res = await this._privyInternal.fetch((0, $bwzhE$privyiopublicapi.authenticateOauthAccount), {
177
263
  body: {
178
264
  authorization_code: authorizationCode,
179
- state_code: stateCode
265
+ state_code: storedStateCode,
266
+ code_verifier: codeVerifier
180
267
  }
181
268
  });
182
269
  this._privyInternal.session.storeToken(res.token);
183
270
  this._privyInternal.session.storeRefreshToken(res.refresh_token);
184
271
  this._privyInternal.callbacks?.setUser?.(res.user);
272
+ await Promise.all([
273
+ this._storage.del((0, $7eca82e1ac601538$export$317c4f00f26b42e2)),
274
+ this._storage.del((0, $7eca82e1ac601538$export$71f689623592ddcf))
275
+ ]);
185
276
  return res;
186
277
  }
187
278
  /**
188
279
  * Links an OAuth account to an existing user
189
280
  *
190
281
  * @param authorizationCode The code generated by the authorization server
191
- * @param stateCode The state value initially set in the request by Privy to the authorization server
192
- */ async linkWithCode(authorizationCode, stateCode) {
193
- // TODO(PKCE): implement PKCE similar to Recovery
282
+ * @param returnedStateCode The state value initially set in the request by Privy to the authorization server
283
+ */ async linkWithCode(authorizationCode, returnedStateCode, provider) {
284
+ const [codeVerifier, storedStateCode] = await Promise.all([
285
+ this._storage.get((0, $7eca82e1ac601538$export$317c4f00f26b42e2)),
286
+ this._storage.get((0, $7eca82e1ac601538$export$71f689623592ddcf))
287
+ ]);
288
+ if (storedStateCode !== returnedStateCode) {
289
+ // Create an AnalyticsEvent for this so we can have some visibility.
290
+ this._privyInternal.createAnalyticsEvent("possible_phishing_attempt", {
291
+ flow: "oauth",
292
+ provider: provider,
293
+ storedStateCode: storedStateCode ?? "",
294
+ returnedStateCode: returnedStateCode ?? ""
295
+ });
296
+ throw new (0, $c3e99570b7f4dc3f$export$dfe83f5386c4bd02)({
297
+ code: "pkce_state_code_mismatch",
298
+ error: "Unexpected auth flow. This may be a phishing attempt."
299
+ });
300
+ }
194
301
  const res = await this._privyInternal.fetch((0, $bwzhE$privyiopublicapi.linkOAuthAccount), {
195
302
  body: {
196
303
  authorization_code: authorizationCode,
197
- state_code: stateCode
304
+ state_code: storedStateCode,
305
+ code_verifier: codeVerifier
198
306
  }
199
307
  });
200
308
  this._privyInternal.callbacks?.setUser?.(res);
309
+ await Promise.all([
310
+ this._storage.del((0, $7eca82e1ac601538$export$317c4f00f26b42e2)),
311
+ this._storage.del((0, $7eca82e1ac601538$export$71f689623592ddcf))
312
+ ]);
201
313
  return res;
202
314
  }
203
315
  /**
@@ -510,11 +622,11 @@ Resources:
510
622
 
511
623
 
512
624
  class $98111b9dfa4b03f7$export$2e2bcd8739ae039 {
513
- /** @internal */ constructor(privyInternal){
625
+ /** @internal */ constructor(privyInternal, storage, crypto){
514
626
  this._privyInternal = privyInternal;
515
627
  this.phone = new (0, $488e97f499cf9159$export$2e2bcd8739ae039)(this._privyInternal);
516
628
  this.email = new (0, $1f21db1ab6fece0e$export$2e2bcd8739ae039)(this._privyInternal);
517
- this.oauth = new (0, $beeb9c2819ecb256$export$2e2bcd8739ae039)(this._privyInternal);
629
+ this.oauth = new (0, $beeb9c2819ecb256$export$2e2bcd8739ae039)(this._privyInternal, storage, crypto);
518
630
  this.siwe = new (0, $1b7e1f4d312093ce$export$2e2bcd8739ae039)(this._privyInternal);
519
631
  this.passkey = new (0, $666f81df71e5be3a$export$2e2bcd8739ae039)(this._privyInternal);
520
632
  this.customProvider = new (0, $1f739692461effaf$export$2e2bcd8739ae039)(this._privyInternal);
@@ -2750,24 +2862,9 @@ class $99761f88b99b6cb6$export$2e2bcd8739ae039 {
2750
2862
 
2751
2863
 
2752
2864
  var $af98a8a573bb7c25$exports = {};
2753
- $af98a8a573bb7c25$exports = JSON.parse('{"name":"@privy-io/js-sdk-core","version":"0.15.3","description":"Vanilla JS client for the Privy Auth API","keywords":["authentication","authorization","identity","privacy","privy","user data","web3"],"license":"Apache-2.0","source":"./src/index.ts","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"require":"./dist/index.js","import":"./dist/index.mjs","types":"./dist/index.d.ts"}},"targets":{"main":{"isLibrary":true,"sourceMap":false},"module":{"isLibrary":true,"sourceMap":false}},"files":["dist/**/*","LICENSE","README.md"],"scripts":{"build":"npx parcel build --no-cache","clean":"rm -rf dist .turbo","dev":"npx parcel watch -p 1234","test":"jest --testMatch \\"**/test/**/*.test.ts\\"","test:watch":"npm run test -- --watch","test:ci":"npm run test","lint":"eslint \\"src/**/*.{ts,tsx,js,jsx}\\" && npx tsc --noEmit","format":"eslint \\"src/**/*.{ts,tsx,js,jsx}\\" --fix"},"devDependencies":{"@privy-io/parcel-config":"*","@privy-io/tsconfig":"*","@simplewebauthn/types":"9.0.1","@tsconfig/node16-strictest-esm":"^1.0.3","@types/jest":"^29.5.11","@types/set-cookie-parser":"^2.4.7","@types/text-encoding":"^0.0.37","msw":"^2.0.13","text-encoding":"^0.7.0","ts-jest":"^29.1.1"},"dependencies":{"@ethersproject/abstract-signer":"^5.7.0","@ethersproject/bignumber":"^5.7.0","@ethersproject/providers":"^5.7.2","@ethersproject/units":"^5.7.0","@privy-io/api-base":"^0.4.6","@privy-io/public-api":"1.11.2","eventemitter3":"^5.0.1","fetch-retry":"^5.0.6","jose":"^4.15.5","js-cookie":"^3.0.5","set-cookie-parser":"^2.6.0","uuid":">=8 <10"},"author":"privy.io","browserslist":["defaults","node >= 18","not op_mini all"],"publishConfig":{"access":"public"}}');
2865
+ $af98a8a573bb7c25$exports = JSON.parse('{"name":"@privy-io/js-sdk-core","version":"0.16.0-beta-20240405165832","description":"Vanilla JS client for the Privy Auth API","keywords":["authentication","authorization","identity","privacy","privy","user data","web3"],"license":"Apache-2.0","source":"./src/index.ts","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"require":"./dist/index.js","import":"./dist/index.mjs","types":"./dist/index.d.ts"}},"targets":{"main":{"isLibrary":true,"sourceMap":false},"module":{"isLibrary":true,"sourceMap":false}},"files":["dist/**/*","LICENSE","README.md"],"scripts":{"build":"npx parcel build --no-cache","clean":"rm -rf dist .turbo","dev":"npx parcel watch -p 1234","test":"jest --testMatch \\"**/test/**/*.test.ts\\"","test:watch":"npm run test -- --watch","test:ci":"npm run test","lint":"eslint \\"src/**/*.{ts,tsx,js,jsx}\\" && npx tsc --noEmit","format":"eslint \\"src/**/*.{ts,tsx,js,jsx}\\" --fix"},"devDependencies":{"@privy-io/parcel-config":"*","@privy-io/tsconfig":"*","@simplewebauthn/types":"9.0.1","@tsconfig/node16-strictest-esm":"^1.0.3","@types/jest":"^29.5.11","@types/set-cookie-parser":"^2.4.7","@types/text-encoding":"^0.0.37","msw":"^2.0.13","text-encoding":"^0.7.0","ts-jest":"^29.1.1"},"dependencies":{"@ethersproject/abstract-signer":"^5.7.0","@ethersproject/bignumber":"^5.7.0","@ethersproject/providers":"^5.7.2","@ethersproject/units":"^5.7.0","@privy-io/api-base":"^0.4.6","@privy-io/public-api":"1.11.2","eventemitter3":"^5.0.1","fetch-retry":"^5.0.6","jose":"^4.15.5","js-cookie":"^3.0.5","set-cookie-parser":"^2.6.0","uuid":">=8 <10"},"author":"privy.io","browserslist":["defaults","node >= 18","not op_mini all"],"publishConfig":{"access":"public"}}');
2754
2866
 
2755
2867
 
2756
- class $c3e99570b7f4dc3f$export$55a617531281a33a extends Error {
2757
- constructor({ error: error, code: code }){
2758
- super(error);
2759
- this.error = error;
2760
- this.code = code;
2761
- }
2762
- }
2763
- class $c3e99570b7f4dc3f$export$dfe83f5386c4bd02 extends Error {
2764
- constructor({ error: error, code: code }){
2765
- super(error);
2766
- this.code = code;
2767
- this.error = error;
2768
- }
2769
- }
2770
-
2771
2868
 
2772
2869
 
2773
2870
 
@@ -3349,47 +3446,7 @@ class $5945f4703f62befa$export$9e80c3751b841788 {
3349
3446
 
3350
3447
 
3351
3448
 
3352
- /** This module is a port of the PKCE implementation in react-auth */
3353
- const $7eca82e1ac601538$var$DEFAULT_CODE_CHALLENGE_METHOD = "S256";
3354
- const $7eca82e1ac601538$var$S256_CODE_CHALLENGE_METHOD = "S256";
3355
- async function $7eca82e1ac601538$export$f955f8b46bc09916(message, digest) {
3356
- const data = new TextEncoder().encode(message);
3357
- const hash = await digest("SHA-256", data);
3358
- return new Uint8Array(hash);
3359
- }
3360
- function $7eca82e1ac601538$export$5f828d93ff035aa8(size) {
3361
- return crypto.getRandomValues(new Uint8Array(size));
3362
- }
3363
- function $7eca82e1ac601538$export$4b3e330be6cd671d() {
3364
- // As specified here: https://datatracker.ietf.org/doc/html/rfc7636#section-4.1
3365
- // code_verifier = high-entropy cryptographic random STRING using the unreserved characters [A-Z] / [a-z] / [0-9] / "-" / "." / "_" / "~"
3366
- // [...] with a minimum length of 43 characters and a maximum length of 128 characters.
3367
- //
3368
- // 32 bytes gets us 256 bits, which results in 43 characters (6 bits per base64 character)
3369
- // This is what is recommended in the spec.
3370
- // In sanitizeCodeVerifier, we replace the base64 characters that are not allowed per the PKCE spec (above) for ones that are
3371
- return (0, $bwzhE$jose.base64url).encode($7eca82e1ac601538$export$5f828d93ff035aa8(36));
3372
- }
3373
- function $7eca82e1ac601538$export$eaf16c02ca227468() {
3374
- // For now, we are only using state_code to make sure we are communicating with the same server
3375
- // throughout the auth process (not to store any state), so we can use the same implementation of random string
3376
- // generation that we use for the code_verifier.
3377
- return $7eca82e1ac601538$export$4b3e330be6cd671d();
3378
- }
3379
- async function $7eca82e1ac601538$export$31f3d2c0aef14fc1({ codeVerifier: codeVerifier, method: method = $7eca82e1ac601538$var$DEFAULT_CODE_CHALLENGE_METHOD, digest: digest = crypto.subtle.digest }) {
3380
- if (method == $7eca82e1ac601538$var$S256_CODE_CHALLENGE_METHOD) {
3381
- // This is the happy and most likely path. As of 12/13/23 we only support S256 and I don't see that changing any time soon
3382
- const hashBuffer = await $7eca82e1ac601538$export$f955f8b46bc09916(codeVerifier, digest);
3383
- return (0, $bwzhE$jose.base64url).encode(hashBuffer);
3384
- } else // The only other supported method I've seen is plain, which does not have any translation, so we'll just return here
3385
- // This should really never happen, since we only support S256
3386
- // We do not support plain, but we'll be able to detect failure on the API side so there is no point failing loudly on the client
3387
- return codeVerifier;
3388
- }
3389
-
3390
3449
 
3391
- const $18b2ddc407ff778b$export$71f689623592ddcf = "privy:state_code";
3392
- const $18b2ddc407ff778b$export$317c4f00f26b42e2 = "privy:code_verifier";
3393
3450
  class $18b2ddc407ff778b$export$2e2bcd8739ae039 {
3394
3451
  /**
3395
3452
  * @internal
@@ -3411,8 +3468,8 @@ class $18b2ddc407ff778b$export$2e2bcd8739ae039 {
3411
3468
  digest: this._crypto?.digest
3412
3469
  });
3413
3470
  await Promise.all([
3414
- this._storage.put($18b2ddc407ff778b$export$317c4f00f26b42e2, codeVerifier),
3415
- this._storage.put($18b2ddc407ff778b$export$71f689623592ddcf, stateCode)
3471
+ this._storage.put((0, $7eca82e1ac601538$export$317c4f00f26b42e2), codeVerifier),
3472
+ this._storage.put((0, $7eca82e1ac601538$export$71f689623592ddcf), stateCode)
3416
3473
  ]);
3417
3474
  return this._privyInternal.fetch((0, $bwzhE$privyiopublicapi.initOAuthRecovery), {
3418
3475
  body: {
@@ -3429,8 +3486,8 @@ class $18b2ddc407ff778b$export$2e2bcd8739ae039 {
3429
3486
  * @param returnedStateCode The state value initially set in the request by Privy to the authorization server
3430
3487
  */ async authorize(authorizationCode, returnedStateCode) {
3431
3488
  const [codeVerifier, storedStateCode] = await Promise.all([
3432
- this._storage.get($18b2ddc407ff778b$export$317c4f00f26b42e2),
3433
- this._storage.get($18b2ddc407ff778b$export$71f689623592ddcf)
3489
+ this._storage.get((0, $7eca82e1ac601538$export$317c4f00f26b42e2)),
3490
+ this._storage.get((0, $7eca82e1ac601538$export$71f689623592ddcf))
3434
3491
  ]);
3435
3492
  if (storedStateCode !== returnedStateCode) {
3436
3493
  // Create an AnalyticsEvent for this so we can have some visibility.
@@ -3452,8 +3509,8 @@ class $18b2ddc407ff778b$export$2e2bcd8739ae039 {
3452
3509
  }
3453
3510
  });
3454
3511
  await Promise.all([
3455
- this._storage.del($18b2ddc407ff778b$export$317c4f00f26b42e2),
3456
- this._storage.del($18b2ddc407ff778b$export$71f689623592ddcf)
3512
+ this._storage.del((0, $7eca82e1ac601538$export$317c4f00f26b42e2)),
3513
+ this._storage.del((0, $7eca82e1ac601538$export$71f689623592ddcf))
3457
3514
  ]);
3458
3515
  return res;
3459
3516
  }
@@ -3493,7 +3550,7 @@ class $2af0542ababa71ac$export$2e2bcd8739ae039 {
3493
3550
  /** Create a new `Privy` Client */ constructor(o){
3494
3551
  this._privyInternal = new (0, $5945f4703f62befa$export$9e80c3751b841788)(o);
3495
3552
  this.user = new (0, $121751b77c00c530$export$2e2bcd8739ae039)(this._privyInternal);
3496
- this.auth = new (0, $98111b9dfa4b03f7$export$2e2bcd8739ae039)(this._privyInternal);
3553
+ this.auth = new (0, $98111b9dfa4b03f7$export$2e2bcd8739ae039)(this._privyInternal, o.storage, o.crypto);
3497
3554
  this.embeddedWallet = new (0, $99761f88b99b6cb6$export$2e2bcd8739ae039)(this._privyInternal, o.embeddedWalletMessagePoster, o.supportedChains);
3498
3555
  this.recovery = new (0, $e0de4032a49d46b3$export$2e2bcd8739ae039)(this._privyInternal, o.storage, o.crypto);
3499
3556
  }
package/dist/index.mjs CHANGED
@@ -1,4 +1,5 @@
1
1
  import {logout as $kxB2R$logout, authenticateCustomJwtAccount as $kxB2R$authenticateCustomJwtAccount, passwordlessInit as $kxB2R$passwordlessInit, passwordlessAuthenticate as $kxB2R$passwordlessAuthenticate, passwordlessLink as $kxB2R$passwordlessLink, passwordlessUnlink as $kxB2R$passwordlessUnlink, initOAuth as $kxB2R$initOAuth, authenticateOauthAccount as $kxB2R$authenticateOauthAccount, linkOAuthAccount as $kxB2R$linkOAuthAccount, unlinkOAuthAccount as $kxB2R$unlinkOAuthAccount, passkeyInitLink as $kxB2R$passkeyInitLink, passkeyInitAuthenticate as $kxB2R$passkeyInitAuthenticate, passkeyAuthenticate as $kxB2R$passkeyAuthenticate, passkeyLink as $kxB2R$passkeyLink, passwordlessSmsInit as $kxB2R$passwordlessSmsInit, passwordlessSmsAuthenticate as $kxB2R$passwordlessSmsAuthenticate, passwordlessSmsLink as $kxB2R$passwordlessSmsLink, passwordlessSmsUnlink as $kxB2R$passwordlessSmsUnlink, linkSiwe as $kxB2R$linkSiwe, authenticateSiwe as $kxB2R$authenticateSiwe, initSiwe as $kxB2R$initSiwe, getAppConfig as $kxB2R$getAppConfig, recordAnalyticsEvent as $kxB2R$recordAnalyticsEvent, refreshSession as $kxB2R$refreshSession, initOAuthRecovery as $kxB2R$initOAuthRecovery, authenticateOauthRecovery as $kxB2R$authenticateOauthRecovery} from "@privy-io/public-api";
2
+ import {base64url as $kxB2R$base64url, decodeJwt as $kxB2R$decodeJwt} from "jose";
2
3
  import $kxB2R$eventemitter3 from "eventemitter3";
3
4
  import {VoidSigner as $kxB2R$VoidSigner} from "@ethersproject/abstract-signer";
4
5
  import {BigNumber as $kxB2R$BigNumber} from "@ethersproject/bignumber";
@@ -8,7 +9,6 @@ import $kxB2R$fetchretry from "fetch-retry";
8
9
  import {v4 as $kxB2R$v4} from "uuid";
9
10
  import {PrivyErrorCode as $kxB2R$PrivyErrorCode} from "@privy-io/api-base";
10
11
  import $kxB2R$jscookie from "js-cookie";
11
- import {decodeJwt as $kxB2R$decodeJwt, base64url as $kxB2R$base64url} from "jose";
12
12
  import {parse as $kxB2R$parse, splitCookiesString as $kxB2R$splitCookiesString} from "set-cookie-parser";
13
13
 
14
14
 
@@ -108,11 +108,70 @@ class $740ec7e42dc11c1e$export$2e2bcd8739ae039 {
108
108
 
109
109
 
110
110
 
111
+ class $d57fea35889d2967$export$55a617531281a33a extends Error {
112
+ constructor({ error: error, code: code }){
113
+ super(error);
114
+ this.error = error;
115
+ this.code = code;
116
+ }
117
+ }
118
+ class $d57fea35889d2967$export$dfe83f5386c4bd02 extends Error {
119
+ constructor({ error: error, code: code }){
120
+ super(error);
121
+ this.code = code;
122
+ this.error = error;
123
+ }
124
+ }
125
+
126
+
127
+ /** This module is a port of the PKCE implementation in react-auth */
128
+ const $cbfb9236d185fee0$var$DEFAULT_CODE_CHALLENGE_METHOD = "S256";
129
+ const $cbfb9236d185fee0$var$S256_CODE_CHALLENGE_METHOD = "S256";
130
+ const $cbfb9236d185fee0$export$71f689623592ddcf = "privy:state_code";
131
+ const $cbfb9236d185fee0$export$317c4f00f26b42e2 = "privy:code_verifier";
132
+ async function $cbfb9236d185fee0$export$f955f8b46bc09916(message, digest) {
133
+ const data = new TextEncoder().encode(message);
134
+ const hash = await digest("SHA-256", data);
135
+ return new Uint8Array(hash);
136
+ }
137
+ function $cbfb9236d185fee0$export$5f828d93ff035aa8(size) {
138
+ return crypto.getRandomValues(new Uint8Array(size));
139
+ }
140
+ function $cbfb9236d185fee0$export$4b3e330be6cd671d() {
141
+ // As specified here: https://datatracker.ietf.org/doc/html/rfc7636#section-4.1
142
+ // code_verifier = high-entropy cryptographic random STRING using the unreserved characters [A-Z] / [a-z] / [0-9] / "-" / "." / "_" / "~"
143
+ // [...] with a minimum length of 43 characters and a maximum length of 128 characters.
144
+ //
145
+ // 32 bytes gets us 256 bits, which results in 43 characters (6 bits per base64 character)
146
+ // This is what is recommended in the spec.
147
+ // In sanitizeCodeVerifier, we replace the base64 characters that are not allowed per the PKCE spec (above) for ones that are
148
+ return (0, $kxB2R$base64url).encode($cbfb9236d185fee0$export$5f828d93ff035aa8(36));
149
+ }
150
+ function $cbfb9236d185fee0$export$eaf16c02ca227468() {
151
+ // For now, we are only using state_code to make sure we are communicating with the same server
152
+ // throughout the auth process (not to store any state), so we can use the same implementation of random string
153
+ // generation that we use for the code_verifier.
154
+ return $cbfb9236d185fee0$export$4b3e330be6cd671d();
155
+ }
156
+ async function $cbfb9236d185fee0$export$31f3d2c0aef14fc1({ codeVerifier: codeVerifier, method: method = $cbfb9236d185fee0$var$DEFAULT_CODE_CHALLENGE_METHOD, digest: digest = crypto.subtle.digest }) {
157
+ if (method == $cbfb9236d185fee0$var$S256_CODE_CHALLENGE_METHOD) {
158
+ // This is the happy and most likely path. As of 12/13/23 we only support S256 and I don't see that changing any time soon
159
+ const hashBuffer = await $cbfb9236d185fee0$export$f955f8b46bc09916(codeVerifier, digest);
160
+ return (0, $kxB2R$base64url).encode(hashBuffer);
161
+ } else // The only other supported method I've seen is plain, which does not have any translation, so we'll just return here
162
+ // This should really never happen, since we only support S256
163
+ // We do not support plain, but we'll be able to detect failure on the API side so there is no point failing loudly on the client
164
+ return codeVerifier;
165
+ }
166
+
167
+
111
168
  class $3ead2a93a65491e3$export$2e2bcd8739ae039 {
112
169
  /**
113
170
  * @internal
114
- */ constructor(privyInternal){
171
+ */ constructor(privyInternal, storage, crypto){
115
172
  this._privyInternal = privyInternal;
173
+ this._storage = storage;
174
+ this._crypto = crypto;
116
175
  }
117
176
  /**
118
177
  * Starts an OAuth flow with a specific provider
@@ -121,11 +180,22 @@ class $3ead2a93a65491e3$export$2e2bcd8739ae039 {
121
180
  * @param provider The OAuth provider
122
181
  * @param redirectURI The URL to redirect to after a successful OAuth flow
123
182
  */ async generateURL(provider, redirectURI) {
124
- // TODO(PKCE): implement PKCE similar to Recovery
183
+ const codeVerifier = (0, $cbfb9236d185fee0$export$4b3e330be6cd671d)();
184
+ const stateCode = (0, $cbfb9236d185fee0$export$eaf16c02ca227468)();
185
+ const codeChallenge = await (0, $cbfb9236d185fee0$export$31f3d2c0aef14fc1)({
186
+ codeVerifier: codeVerifier,
187
+ digest: this._crypto?.digest
188
+ });
189
+ await Promise.all([
190
+ this._storage.put((0, $cbfb9236d185fee0$export$317c4f00f26b42e2), codeVerifier),
191
+ this._storage.put((0, $cbfb9236d185fee0$export$71f689623592ddcf), stateCode)
192
+ ]);
125
193
  return this._privyInternal.fetch((0, $kxB2R$initOAuth), {
126
194
  body: {
127
195
  redirect_to: redirectURI,
128
- provider: provider
196
+ provider: provider,
197
+ code_challenge: codeChallenge,
198
+ state_code: stateCode
129
199
  }
130
200
  });
131
201
  }
@@ -133,34 +203,76 @@ class $3ead2a93a65491e3$export$2e2bcd8739ae039 {
133
203
  * Logs a user in via successfull OAuth flow codes
134
204
  *
135
205
  * @param authorizationCode The code generated by the authorization server
136
- * @param stateCode The state value initially set in the request by Privy to the authorization server
137
- */ async loginWithCode(authorizationCode, stateCode) {
138
- // TODO(PKCE): implement PKCE similar to Recovery
206
+ * @param returnedStateCode The state value initially set in the request by Privy to the authorization server
207
+ */ async loginWithCode(authorizationCode, returnedStateCode, provider) {
208
+ const [codeVerifier, storedStateCode] = await Promise.all([
209
+ this._storage.get((0, $cbfb9236d185fee0$export$317c4f00f26b42e2)),
210
+ this._storage.get((0, $cbfb9236d185fee0$export$71f689623592ddcf))
211
+ ]);
212
+ if (storedStateCode !== returnedStateCode) {
213
+ // Create an AnalyticsEvent for this so we can have some visibility.
214
+ this._privyInternal.createAnalyticsEvent("possible_phishing_attempt", {
215
+ flow: "oauth",
216
+ provider: provider,
217
+ storedStateCode: storedStateCode ?? "",
218
+ returnedStateCode: returnedStateCode ?? ""
219
+ });
220
+ throw new (0, $d57fea35889d2967$export$dfe83f5386c4bd02)({
221
+ code: "pkce_state_code_mismatch",
222
+ error: "Unexpected auth flow. This may be a phishing attempt."
223
+ });
224
+ }
139
225
  const res = await this._privyInternal.fetch((0, $kxB2R$authenticateOauthAccount), {
140
226
  body: {
141
227
  authorization_code: authorizationCode,
142
- state_code: stateCode
228
+ state_code: storedStateCode,
229
+ code_verifier: codeVerifier
143
230
  }
144
231
  });
145
232
  this._privyInternal.session.storeToken(res.token);
146
233
  this._privyInternal.session.storeRefreshToken(res.refresh_token);
147
234
  this._privyInternal.callbacks?.setUser?.(res.user);
235
+ await Promise.all([
236
+ this._storage.del((0, $cbfb9236d185fee0$export$317c4f00f26b42e2)),
237
+ this._storage.del((0, $cbfb9236d185fee0$export$71f689623592ddcf))
238
+ ]);
148
239
  return res;
149
240
  }
150
241
  /**
151
242
  * Links an OAuth account to an existing user
152
243
  *
153
244
  * @param authorizationCode The code generated by the authorization server
154
- * @param stateCode The state value initially set in the request by Privy to the authorization server
155
- */ async linkWithCode(authorizationCode, stateCode) {
156
- // TODO(PKCE): implement PKCE similar to Recovery
245
+ * @param returnedStateCode The state value initially set in the request by Privy to the authorization server
246
+ */ async linkWithCode(authorizationCode, returnedStateCode, provider) {
247
+ const [codeVerifier, storedStateCode] = await Promise.all([
248
+ this._storage.get((0, $cbfb9236d185fee0$export$317c4f00f26b42e2)),
249
+ this._storage.get((0, $cbfb9236d185fee0$export$71f689623592ddcf))
250
+ ]);
251
+ if (storedStateCode !== returnedStateCode) {
252
+ // Create an AnalyticsEvent for this so we can have some visibility.
253
+ this._privyInternal.createAnalyticsEvent("possible_phishing_attempt", {
254
+ flow: "oauth",
255
+ provider: provider,
256
+ storedStateCode: storedStateCode ?? "",
257
+ returnedStateCode: returnedStateCode ?? ""
258
+ });
259
+ throw new (0, $d57fea35889d2967$export$dfe83f5386c4bd02)({
260
+ code: "pkce_state_code_mismatch",
261
+ error: "Unexpected auth flow. This may be a phishing attempt."
262
+ });
263
+ }
157
264
  const res = await this._privyInternal.fetch((0, $kxB2R$linkOAuthAccount), {
158
265
  body: {
159
266
  authorization_code: authorizationCode,
160
- state_code: stateCode
267
+ state_code: storedStateCode,
268
+ code_verifier: codeVerifier
161
269
  }
162
270
  });
163
271
  this._privyInternal.callbacks?.setUser?.(res);
272
+ await Promise.all([
273
+ this._storage.del((0, $cbfb9236d185fee0$export$317c4f00f26b42e2)),
274
+ this._storage.del((0, $cbfb9236d185fee0$export$71f689623592ddcf))
275
+ ]);
164
276
  return res;
165
277
  }
166
278
  /**
@@ -473,11 +585,11 @@ Resources:
473
585
 
474
586
 
475
587
  class $a712a7384002dbf3$export$2e2bcd8739ae039 {
476
- /** @internal */ constructor(privyInternal){
588
+ /** @internal */ constructor(privyInternal, storage, crypto){
477
589
  this._privyInternal = privyInternal;
478
590
  this.phone = new (0, $8a9a5fd5c96f1587$export$2e2bcd8739ae039)(this._privyInternal);
479
591
  this.email = new (0, $740ec7e42dc11c1e$export$2e2bcd8739ae039)(this._privyInternal);
480
- this.oauth = new (0, $3ead2a93a65491e3$export$2e2bcd8739ae039)(this._privyInternal);
592
+ this.oauth = new (0, $3ead2a93a65491e3$export$2e2bcd8739ae039)(this._privyInternal, storage, crypto);
481
593
  this.siwe = new (0, $506cb7f50a4dc51f$export$2e2bcd8739ae039)(this._privyInternal);
482
594
  this.passkey = new (0, $71e78cd932fe50fc$export$2e2bcd8739ae039)(this._privyInternal);
483
595
  this.customProvider = new (0, $3d62e2afb9aeeba9$export$2e2bcd8739ae039)(this._privyInternal);
@@ -2713,24 +2825,9 @@ class $a3295537bbaaa670$export$2e2bcd8739ae039 {
2713
2825
 
2714
2826
 
2715
2827
  var $53a9b3651331d972$exports = {};
2716
- $53a9b3651331d972$exports = JSON.parse('{"name":"@privy-io/js-sdk-core","version":"0.15.3","description":"Vanilla JS client for the Privy Auth API","keywords":["authentication","authorization","identity","privacy","privy","user data","web3"],"license":"Apache-2.0","source":"./src/index.ts","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"require":"./dist/index.js","import":"./dist/index.mjs","types":"./dist/index.d.ts"}},"targets":{"main":{"isLibrary":true,"sourceMap":false},"module":{"isLibrary":true,"sourceMap":false}},"files":["dist/**/*","LICENSE","README.md"],"scripts":{"build":"npx parcel build --no-cache","clean":"rm -rf dist .turbo","dev":"npx parcel watch -p 1234","test":"jest --testMatch \\"**/test/**/*.test.ts\\"","test:watch":"npm run test -- --watch","test:ci":"npm run test","lint":"eslint \\"src/**/*.{ts,tsx,js,jsx}\\" && npx tsc --noEmit","format":"eslint \\"src/**/*.{ts,tsx,js,jsx}\\" --fix"},"devDependencies":{"@privy-io/parcel-config":"*","@privy-io/tsconfig":"*","@simplewebauthn/types":"9.0.1","@tsconfig/node16-strictest-esm":"^1.0.3","@types/jest":"^29.5.11","@types/set-cookie-parser":"^2.4.7","@types/text-encoding":"^0.0.37","msw":"^2.0.13","text-encoding":"^0.7.0","ts-jest":"^29.1.1"},"dependencies":{"@ethersproject/abstract-signer":"^5.7.0","@ethersproject/bignumber":"^5.7.0","@ethersproject/providers":"^5.7.2","@ethersproject/units":"^5.7.0","@privy-io/api-base":"^0.4.6","@privy-io/public-api":"1.11.2","eventemitter3":"^5.0.1","fetch-retry":"^5.0.6","jose":"^4.15.5","js-cookie":"^3.0.5","set-cookie-parser":"^2.6.0","uuid":">=8 <10"},"author":"privy.io","browserslist":["defaults","node >= 18","not op_mini all"],"publishConfig":{"access":"public"}}');
2828
+ $53a9b3651331d972$exports = JSON.parse('{"name":"@privy-io/js-sdk-core","version":"0.16.0-beta-20240405165832","description":"Vanilla JS client for the Privy Auth API","keywords":["authentication","authorization","identity","privacy","privy","user data","web3"],"license":"Apache-2.0","source":"./src/index.ts","main":"./dist/index.js","module":"./dist/index.mjs","types":"./dist/index.d.ts","exports":{".":{"require":"./dist/index.js","import":"./dist/index.mjs","types":"./dist/index.d.ts"}},"targets":{"main":{"isLibrary":true,"sourceMap":false},"module":{"isLibrary":true,"sourceMap":false}},"files":["dist/**/*","LICENSE","README.md"],"scripts":{"build":"npx parcel build --no-cache","clean":"rm -rf dist .turbo","dev":"npx parcel watch -p 1234","test":"jest --testMatch \\"**/test/**/*.test.ts\\"","test:watch":"npm run test -- --watch","test:ci":"npm run test","lint":"eslint \\"src/**/*.{ts,tsx,js,jsx}\\" && npx tsc --noEmit","format":"eslint \\"src/**/*.{ts,tsx,js,jsx}\\" --fix"},"devDependencies":{"@privy-io/parcel-config":"*","@privy-io/tsconfig":"*","@simplewebauthn/types":"9.0.1","@tsconfig/node16-strictest-esm":"^1.0.3","@types/jest":"^29.5.11","@types/set-cookie-parser":"^2.4.7","@types/text-encoding":"^0.0.37","msw":"^2.0.13","text-encoding":"^0.7.0","ts-jest":"^29.1.1"},"dependencies":{"@ethersproject/abstract-signer":"^5.7.0","@ethersproject/bignumber":"^5.7.0","@ethersproject/providers":"^5.7.2","@ethersproject/units":"^5.7.0","@privy-io/api-base":"^0.4.6","@privy-io/public-api":"1.11.2","eventemitter3":"^5.0.1","fetch-retry":"^5.0.6","jose":"^4.15.5","js-cookie":"^3.0.5","set-cookie-parser":"^2.6.0","uuid":">=8 <10"},"author":"privy.io","browserslist":["defaults","node >= 18","not op_mini all"],"publishConfig":{"access":"public"}}');
2717
2829
 
2718
2830
 
2719
- class $d57fea35889d2967$export$55a617531281a33a extends Error {
2720
- constructor({ error: error, code: code }){
2721
- super(error);
2722
- this.error = error;
2723
- this.code = code;
2724
- }
2725
- }
2726
- class $d57fea35889d2967$export$dfe83f5386c4bd02 extends Error {
2727
- constructor({ error: error, code: code }){
2728
- super(error);
2729
- this.code = code;
2730
- this.error = error;
2731
- }
2732
- }
2733
-
2734
2831
 
2735
2832
 
2736
2833
 
@@ -3312,47 +3409,7 @@ class $83ff42e2a0f1e24a$export$9e80c3751b841788 {
3312
3409
 
3313
3410
 
3314
3411
 
3315
- /** This module is a port of the PKCE implementation in react-auth */
3316
- const $cbfb9236d185fee0$var$DEFAULT_CODE_CHALLENGE_METHOD = "S256";
3317
- const $cbfb9236d185fee0$var$S256_CODE_CHALLENGE_METHOD = "S256";
3318
- async function $cbfb9236d185fee0$export$f955f8b46bc09916(message, digest) {
3319
- const data = new TextEncoder().encode(message);
3320
- const hash = await digest("SHA-256", data);
3321
- return new Uint8Array(hash);
3322
- }
3323
- function $cbfb9236d185fee0$export$5f828d93ff035aa8(size) {
3324
- return crypto.getRandomValues(new Uint8Array(size));
3325
- }
3326
- function $cbfb9236d185fee0$export$4b3e330be6cd671d() {
3327
- // As specified here: https://datatracker.ietf.org/doc/html/rfc7636#section-4.1
3328
- // code_verifier = high-entropy cryptographic random STRING using the unreserved characters [A-Z] / [a-z] / [0-9] / "-" / "." / "_" / "~"
3329
- // [...] with a minimum length of 43 characters and a maximum length of 128 characters.
3330
- //
3331
- // 32 bytes gets us 256 bits, which results in 43 characters (6 bits per base64 character)
3332
- // This is what is recommended in the spec.
3333
- // In sanitizeCodeVerifier, we replace the base64 characters that are not allowed per the PKCE spec (above) for ones that are
3334
- return (0, $kxB2R$base64url).encode($cbfb9236d185fee0$export$5f828d93ff035aa8(36));
3335
- }
3336
- function $cbfb9236d185fee0$export$eaf16c02ca227468() {
3337
- // For now, we are only using state_code to make sure we are communicating with the same server
3338
- // throughout the auth process (not to store any state), so we can use the same implementation of random string
3339
- // generation that we use for the code_verifier.
3340
- return $cbfb9236d185fee0$export$4b3e330be6cd671d();
3341
- }
3342
- async function $cbfb9236d185fee0$export$31f3d2c0aef14fc1({ codeVerifier: codeVerifier, method: method = $cbfb9236d185fee0$var$DEFAULT_CODE_CHALLENGE_METHOD, digest: digest = crypto.subtle.digest }) {
3343
- if (method == $cbfb9236d185fee0$var$S256_CODE_CHALLENGE_METHOD) {
3344
- // This is the happy and most likely path. As of 12/13/23 we only support S256 and I don't see that changing any time soon
3345
- const hashBuffer = await $cbfb9236d185fee0$export$f955f8b46bc09916(codeVerifier, digest);
3346
- return (0, $kxB2R$base64url).encode(hashBuffer);
3347
- } else // The only other supported method I've seen is plain, which does not have any translation, so we'll just return here
3348
- // This should really never happen, since we only support S256
3349
- // We do not support plain, but we'll be able to detect failure on the API side so there is no point failing loudly on the client
3350
- return codeVerifier;
3351
- }
3352
-
3353
3412
 
3354
- const $99a879537b533cef$export$71f689623592ddcf = "privy:state_code";
3355
- const $99a879537b533cef$export$317c4f00f26b42e2 = "privy:code_verifier";
3356
3413
  class $99a879537b533cef$export$2e2bcd8739ae039 {
3357
3414
  /**
3358
3415
  * @internal
@@ -3374,8 +3431,8 @@ class $99a879537b533cef$export$2e2bcd8739ae039 {
3374
3431
  digest: this._crypto?.digest
3375
3432
  });
3376
3433
  await Promise.all([
3377
- this._storage.put($99a879537b533cef$export$317c4f00f26b42e2, codeVerifier),
3378
- this._storage.put($99a879537b533cef$export$71f689623592ddcf, stateCode)
3434
+ this._storage.put((0, $cbfb9236d185fee0$export$317c4f00f26b42e2), codeVerifier),
3435
+ this._storage.put((0, $cbfb9236d185fee0$export$71f689623592ddcf), stateCode)
3379
3436
  ]);
3380
3437
  return this._privyInternal.fetch((0, $kxB2R$initOAuthRecovery), {
3381
3438
  body: {
@@ -3392,8 +3449,8 @@ class $99a879537b533cef$export$2e2bcd8739ae039 {
3392
3449
  * @param returnedStateCode The state value initially set in the request by Privy to the authorization server
3393
3450
  */ async authorize(authorizationCode, returnedStateCode) {
3394
3451
  const [codeVerifier, storedStateCode] = await Promise.all([
3395
- this._storage.get($99a879537b533cef$export$317c4f00f26b42e2),
3396
- this._storage.get($99a879537b533cef$export$71f689623592ddcf)
3452
+ this._storage.get((0, $cbfb9236d185fee0$export$317c4f00f26b42e2)),
3453
+ this._storage.get((0, $cbfb9236d185fee0$export$71f689623592ddcf))
3397
3454
  ]);
3398
3455
  if (storedStateCode !== returnedStateCode) {
3399
3456
  // Create an AnalyticsEvent for this so we can have some visibility.
@@ -3415,8 +3472,8 @@ class $99a879537b533cef$export$2e2bcd8739ae039 {
3415
3472
  }
3416
3473
  });
3417
3474
  await Promise.all([
3418
- this._storage.del($99a879537b533cef$export$317c4f00f26b42e2),
3419
- this._storage.del($99a879537b533cef$export$71f689623592ddcf)
3475
+ this._storage.del((0, $cbfb9236d185fee0$export$317c4f00f26b42e2)),
3476
+ this._storage.del((0, $cbfb9236d185fee0$export$71f689623592ddcf))
3420
3477
  ]);
3421
3478
  return res;
3422
3479
  }
@@ -3456,7 +3513,7 @@ class $a43e642a0de69b32$export$2e2bcd8739ae039 {
3456
3513
  /** Create a new `Privy` Client */ constructor(o){
3457
3514
  this._privyInternal = new (0, $83ff42e2a0f1e24a$export$9e80c3751b841788)(o);
3458
3515
  this.user = new (0, $dcfa01fbc2c582ff$export$2e2bcd8739ae039)(this._privyInternal);
3459
- this.auth = new (0, $a712a7384002dbf3$export$2e2bcd8739ae039)(this._privyInternal);
3516
+ this.auth = new (0, $a712a7384002dbf3$export$2e2bcd8739ae039)(this._privyInternal, o.storage, o.crypto);
3460
3517
  this.embeddedWallet = new (0, $a3295537bbaaa670$export$2e2bcd8739ae039)(this._privyInternal, o.embeddedWalletMessagePoster, o.supportedChains);
3461
3518
  this.recovery = new (0, $135d914b0591cce8$export$2e2bcd8739ae039)(this._privyInternal, o.storage, o.crypto);
3462
3519
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@privy-io/js-sdk-core",
3
- "version": "0.15.3",
3
+ "version": "0.16.0-beta-20240405165832",
4
4
  "description": "Vanilla JS client for the Privy Auth API",
5
5
  "keywords": [
6
6
  "authentication",