linotp.model.challange module¶
- class linotp.model.challange.Challenge(transid, tokenserial, challenge='', data='', session='')¶
Bases:
ChallengeSchema- add_session_info(info: Any) None¶
- challenge¶
- checkChallengeSignature(hsm: DefaultSecurityModule) bool¶
check the integrity of a challenge
- Parameters
hsm – security module
- Returns
success - boolean
- close() None¶
close a session and make it invisible to the validation
- remarks:
we introduce the challenge status ‘closed’. It is set after a first successful authentication. The status is required, as we don’t remove the challenges after validation anymore
- classmethod createTransactionId(length: int = 20) str¶
- data¶
- get(key: Optional[str] = None, fallback: Optional[Any] = None, save: bool = False) Union[None, dict]¶
simulate the dict behaviour to make challenge processing easier, as this will have to deal as well with ‘dict only challenges’
- Parameters
key – the attribute name - in case key is not provided, a dict of all class attributes is returned
fallback – if the attribute is not found, the fallback is returned
save – in case of all attributes and save==True, the timestamp is converted to a string representation
- getChallenge() str¶
- getData() Union[dict, str]¶
- getId() int¶
- getSession() str¶
- getStatus() bool¶
check if the session is already closed
- Returns
success - boolean
- getTanCount() int¶
- getTanStatus() Tuple[bool, bool]¶
- getTokenSerial() str¶
- getTransactionId() str¶
- get_vars(save: bool = False) dict¶
return a dictionary of all vars in the challenge class
- Returns
dict of vars
- id¶
- is_open() bool¶
check if the session is already closed
- Returns
success - boolean
- ochallenge¶
- odata¶
- oochallenge¶
- ptransid¶
- received_count¶
- received_tan¶
- save() str¶
enforce the saving of a challenge - will guarantee the uniqness of the transaction id
- Returns
transaction id of the stored challenge
- session¶
- setChallenge(challenge: str) None¶
- setData(data: Any) None¶
- setSession(session: str) None¶
set the session state information like open or closed - contains in addition the mac of the whole challenge entry
- Parameters
session – dictionary of the session info
- setTanStatus(received: bool = False, valid: bool = False, increment: bool = True) None¶
- signChallenge(hsm: DefaultSecurityModule) None¶
create a challenge signature and preserve it
- Parameters
hsm – security module, which is able to calc the signature
- Returns
nothing -
- timestamp¶
- tokenserial¶
- transid¶
- valid_tan¶