// CodeGear C++Builder // Copyright (c) 1995, 2025 by Embarcadero Technologies, Inc. // All rights reserved // (DO NOT EDIT: machine generated header) 'uCEFOAuth2Helper.pas' rev: 37.00 (Windows) #ifndef uCEFOAuth2HelperHPP #define uCEFOAuth2HelperHPP #pragma delphiheader begin #pragma option push #if defined(__BORLANDC__) && !defined(__clang__) #pragma option -w- // All warnings off #pragma option -Vx // Zero-length empty class member #endif #pragma pack(push,8) #include #include #include #include #include #include #include #include //-- user supplied ----------------------------------------------------------- namespace Ucefoauth2helper { //-- forward type declarations ----------------------------------------------- class DELPHICLASS TCEFOAuth2Helper; //-- type declarations ------------------------------------------------------- enum DECLSPEC_DENUM TOAuthChallengeMethod : unsigned char { cmPlain, cmSHA256 }; #pragma pack(push,4) class PASCALIMPLEMENTATION TCEFOAuth2Helper : public System::TObject { typedef System::TObject inherited; protected: Uceftypes::ustring FRedirectHost; int FRedirectPort; Uceftypes::ustring FAuthEndpoint; Uceftypes::ustring FTokenEndpoint; Uceftypes::ustring FClientID; Uceftypes::ustring FClientSecret; Uceftypes::ustring FAuthCode; Uceftypes::ustring FError; Uceftypes::ustring FErrorDescription; Uceftypes::ustring FCodeVerifier; Uceftypes::ustring FCodeChallenge; Uceftypes::ustring FScope; Uceftypes::ustring FAccessToken; Uceftypes::ustring FIDToken; Uceftypes::ustring FState; Uceftypes::ustring FIncState; Uceftypes::ustring FRefreshToken; int FTokenExpiry; Uceftypes::ustring FTokenType; Uceftypes::ustring FLoginHint; TOAuthChallengeMethod FChallengeMethod; virtual Uceftypes::ustring __fastcall GetRedirectURI(); virtual Uceftypes::ustring __fastcall GetAuthCodeURI(); virtual Uceftypes::ustring __fastcall GetRefreshParams(); virtual Uceftypes::ustring __fastcall GetTokeExchangeParams(); virtual bool __fastcall GetValidState(); virtual void __fastcall GenerateRandomCodeChallenge(); virtual void __fastcall GenerateRandomState(); Uceftypes::ustring __fastcall GenerateRandomString(unsigned aLength); void __fastcall ParseQueryPair(const Uceftypes::ustring aPair); Uceftypes::ustring __fastcall ReadJSONString(const Ucefinterfaces::_di_ICefDictionaryValue aDictionary, const Uceftypes::ustring aKey); int __fastcall ReadJSONInteger(const Ucefinterfaces::_di_ICefDictionaryValue aDictionary, const Uceftypes::ustring aKey); Uceftypes::TCefCustomByteArray __fastcall CalculateSHA256Hash(const Uceftypes::ustring aString); public: __fastcall TCEFOAuth2Helper(); virtual void __fastcall Initialize(); virtual bool __fastcall ParseTokenExchangeResponse(const Uceftypes::ustring aResponse); virtual bool __fastcall ParseRefreshTokenResponse(const Uceftypes::ustring aResponse); virtual bool __fastcall ParseCodeRequestResponse(const Uceftypes::ustring aURL); __property Uceftypes::ustring AuthEndpoint = {read=FAuthEndpoint, write=FAuthEndpoint}; __property Uceftypes::ustring TokenEndpoint = {read=FTokenEndpoint, write=FTokenEndpoint}; __property Uceftypes::ustring ClientID = {read=FClientID, write=FClientID}; __property Uceftypes::ustring ClientSecret = {read=FClientSecret, write=FClientSecret}; __property Uceftypes::ustring RedirectHost = {read=FRedirectHost, write=FRedirectHost}; __property int RedirectPort = {read=FRedirectPort, write=FRedirectPort, nodefault}; __property TOAuthChallengeMethod ChallengeMethod = {read=FChallengeMethod, write=FChallengeMethod, nodefault}; __property Uceftypes::ustring Scope = {read=FScope, write=FScope}; __property Uceftypes::ustring Error = {read=FError}; __property Uceftypes::ustring ErrorDescription = {read=FErrorDescription}; __property Uceftypes::ustring AccessToken = {read=FAccessToken}; __property Uceftypes::ustring IDToken = {read=FIDToken}; __property Uceftypes::ustring RefreshToken = {read=FRefreshToken}; __property int TokenExpiry = {read=FTokenExpiry, nodefault}; __property Uceftypes::ustring TokenType = {read=FTokenType}; __property Uceftypes::ustring CodeVerifier = {read=FCodeVerifier}; __property Uceftypes::ustring CodeChallenge = {read=FCodeChallenge}; __property Uceftypes::ustring RedirectURI = {read=GetRedirectURI}; __property Uceftypes::ustring AuthCodeURI = {read=GetAuthCodeURI}; __property Uceftypes::ustring TokeExchangeParams = {read=GetTokeExchangeParams}; __property Uceftypes::ustring RefreshParams = {read=GetRefreshParams}; __property bool ValidState = {read=GetValidState, nodefault}; public: /* TObject.Destroy */ inline __fastcall virtual ~TCEFOAuth2Helper() { } }; #pragma pack(pop) //-- var, const, procedure --------------------------------------------------- #define DEFAULT_REDIRECT_IPV4_HOST L"127.0.0.1" #define DEFAULT_REDIRECT_IPV6_HOST L"[::1]" static _DELPHI_CONST System::Word DEFAULT_REDIRECT_PORT = System::Word(0xc350); #define GOOGLE_DISCOVERY_DOCUMENT L"https://accounts.google.com/.well-known/openid-configurati"\ L"on" } /* namespace Ucefoauth2helper */ #if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_UCEFOAUTH2HELPER) using namespace Ucefoauth2helper; #endif #pragma pack(pop) #pragma option pop #pragma delphiheader end. //-- end unit ---------------------------------------------------------------- #endif // uCEFOAuth2HelperHPP