| GET | /users/find/login-details | Verify a user's login details. |
|---|
export class ApiDtoBase implements IApiDtoBase
{
public ApiKey?: string;
public StoreId?: number;
public ChainId?: number;
public constructor(init?: Partial<ApiDtoBase>) { (Object as any).assign(this, init); }
}
export class UserFindByLoginRequestDto extends ApiDtoBase
{
public UserId: number;
public UserName: string;
public Password: string;
public constructor(init?: Partial<UserFindByLoginRequestDto>) { super(init); (Object as any).assign(this, init); }
}
export enum RestrictedResourceType
{
Store = 'Store',
Chain = 'Chain',
User = 'User',
Undefined = 'Undefined',
}
// @ApiResponse(Description="<p>AuthenticationResponse Values</p>\r\n<table>\r\n<tr><td>Text</td><td>Numerical</td></tr>\r\n<tr><td>An error occurred (-100)</td><td>-100</td></tr>\r\n<tr><td>Account is disabled.</td><td>-11</td></tr>\r\n<tr><td>Account is locked.</td><td>-10</td></tr>\r\n<tr><td>Your password must be of sufficient length and should contain letters, numbers and special characters.</td><td>-3</td></tr>\r\n<tr><td>Invalid confirmation.</td><td>-2</td></tr>\r\n<tr><td>Invalid confirmation.</td><td>-1</td></tr>\r\n<tr><td>An error occurred.</td><td>0</td></tr>\r\n<tr><td>Your password has expired and must be changed.</td><td>1</td></tr>\r\n<tr><td>Your must change your password.</td><td>2</td></tr>\\\r\n<tr><td>Login Successful. Please consider changing your password because it does not meet current complexity requirements</td><td>3</td></tr>\r\n<tr><td>Login successful.</td><td>10</td></tr>\r\n</table>", ResponseType="typeof(ClubReady.Web.Api.Members.Model.UserFindByLoginResponse)", StatusCode=200)
export class UserFindByLoginRequest extends UserFindByLoginRequestDto implements IRestrictedApiRequest
{
/**
* IP address of the end user
*/
// @ApiMember(Description="IP address of the end user", Name="X-Forwarded-For", ParameterType="header")
public XForwardedFor: string;
/**
* Api Key - grants access to resources
*/
// @ApiMember(DataType="string", Description="Api Key - grants access to resources", IsRequired=true, Name="ApiKey", ParameterType="query")
public ApiKey: string;
/**
* ClubReady Club ID (StoreID internally)
*/
// @ApiMember(DataType="integer", Description="ClubReady Club ID (StoreID internally)", Name="StoreId", ParameterType="query")
public StoreId?: number;
/**
* StoreId OR ChainId is required
*/
// @ApiMember(DataType="integer", Description="StoreId OR ChainId is required", Name="ChainId", ParameterType="query")
public ChainId?: number;
/**
* ClubReady username
*/
// @ApiMember(DataType="string", Description="ClubReady username", IsRequired=true, Name="UserName", ParameterType="query")
public UserName: string;
/**
* ClubReady password
*/
// @ApiMember(DataType="string", Description="ClubReady password", IsRequired=true, Name="Password", ParameterType="query")
public Password: string;
public RestrictedId?: number;
public RestrictedResourceType: RestrictedResourceType;
public constructor(init?: Partial<UserFindByLoginRequest>) { super(init); (Object as any).assign(this, init); }
}
export class ApiResponseBase
{
public Success: boolean;
public Message?: string;
public constructor(init?: Partial<ApiResponseBase>) { (Object as any).assign(this, init); }
}
export class UserFindByLoginResponseDto extends ApiResponseBase
{
public HomeStoreId?: number;
public UserId: number;
public constructor(init?: Partial<UserFindByLoginResponseDto>) { super(init); (Object as any).assign(this, init); }
}
export enum AuthenticationResult
{
InvalidPassword = 0,
SuccessExpired = 11,
SuccessChangePassword = 12,
SuccessWeakPassword = 21,
Success = 31,
CryptographicError = -100,
Disabled = -22,
Locked = -21,
FailedPasswordHistory = -15,
FailedWeakPassword = -12,
InvalidConfirmation = -11,
Error = -1,
}
export class UserFindByLoginResponse extends UserFindByLoginResponseDto
{
public AuthenticationResult: AuthenticationResult;
public HomeStoreId?: number;
public UserId: number;
public constructor(init?: Partial<UserFindByLoginResponse>) { super(init); (Object as any).assign(this, init); }
}
TypeScript UserFindByLoginRequest DTOs
To override the Content-type in your clients, use the HTTP Accept Header, append the .jsv suffix or ?format=jsv
The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.
GET /users/find/login-details HTTP/1.1 Host: www.clubready.com Accept: text/jsv
HTTP/1.1 200 OK
Content-Type: text/jsv
Content-Length: length
{
AuthenticationResult: InvalidPassword,
HomeStoreId: 0,
UserId: 0,
Success: False,
Message: String
}