TAuthResult missing data?

Hi Wagner,

Been looking at TMS Sphinx. The client component TSphinxLogin appears to be missing some data. I have asked it to record the phone number and the email. Even though both the phone number and the email exist and are confirmed in the server database I am only getting the email and not the phone number.

Using Delphi 12.1 with TMS Sphinx 1.9.0.2

procedure TFrameLogin.LogUserInfo( Info: TAuthResult );
begin
  Log( '============' );
  Log( 'Is expired   : ' + BoolToStr( Info.IsExpired, True ) );
  Log( 'Access token : ' + Info.AccessToken );
  Log( 'Token type   : ' + Info.TokenType );
  Log( 'Refresh token: ' + Info.RefreshToken );
  Log( 'Scope        : ' + Info.Scope );
  Log( 'Expiration   : ' + DateTimeToStr( Info.Expiration ) );
  Log( 'Id token     : ' + Info.IdToken );
  Log( 'App State    : ' + Info.AppState );
  if Info.Profile <> nil then
  begin
    Log( 'Name                : ' + Info.Profile.Name );
    Log( 'GivenName           : ' + Info.Profile.GivenName );
    Log( 'FamilyName          : ' + Info.Profile.FamilyName );
    Log( 'MiddleName          : ' + Info.Profile.MiddleName );
    Log( 'NickName            : ' + Info.Profile.NickName );
    Log( 'PreferredUserName   : ' + Info.Profile.PreferredUserName );
    Log( 'Profile             : ' + Info.Profile.Profile );
    Log( 'Picture             : ' + Info.Profile.Picture );
    Log( 'Website             : ' + Info.Profile.Website );
    Log( 'Email               : ' + Info.Profile.Email );
    Log( 'EmailVerified       : ' + Info.Profile.EmailVerified.ToString( TUseBoolStrs.True ) );
    Log( 'Gender              : ' + Info.Profile.Gender );
    Log( 'BirthDate           : ' + Info.Profile.BirthDate );
    Log( 'ZoneInfo            : ' + Info.Profile.ZoneInfo );
    Log( 'Locale              : ' + Info.Profile.Locale );
    Log( 'PhoneNumber         : ' + Info.Profile.PhoneNumber );
    Log( 'PhoneNumberVerified : ' + Info.Profile.PhoneNumberVerified.ToString( TUseBoolStrs.True ) );
  end
  else
    Log( 'Info.Profile = nil' );
  Log( '============' );
end;

procedure TFrameLogin.SphinxLoginUserLoggedIn( Args: TUserLoggedInArgs );
begin
  LogUserInfo( Args.LoginResult );
end;

This returns:

============
Is expired   : False
Access token : eyJ...
Token type   : bearer
Refresh token: 
Scope        : openid email
Expiration   : 21/06/2024 08:40:27
Id token     : eyJ...
App State    : 
Name                : 
GivenName           : 
FamilyName          : 
MiddleName          : 
NickName            : 
PreferredUserName   : 
Profile             : 
Picture             : 
Website             : 
Email               : steve.sinclair@...
EmailVerified       : True
Gender              : 
BirthDate           : 
ZoneInfo            : 
Locale              : 
PhoneNumber         : 
PhoneNumberVerified : False
============

Should I be entering something into the scope perhaps for this information to be included?

It was the scope, sorry to bother you didn't pick up on it. I've added 'openid email phone profile' to the scope on both the server and the client and I am getting the info now

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.