def init_create_user(): user = User(None) print() print("address/key:", user.address) print() print("Keep it secret, keep it safe") return user
def test_new_user_properties(mocker): """ARRANGE""" expected_address = "fake_address" expected_network_id = "fake_network_id" mocker.patch('client.utils.PlugApiClient', MockApiClient) mocker.patch('client.utils.SqliteKeyManager', MockKeyManager) """ACT""" user = User(None) """ASSERT""" assert user.address == expected_address assert user.network_id == expected_network_id assert type(user.key_manager) is MockKeyManager assert type(user.client) is MockApiClient
def get_session(self, session_id: str) -> Union[Tuple[Session, User], None]: with connect(self.__db_path) as db: c = db.cursor() session_row = c.execute("SELECT detail FROM session WHERE id = ?", (session_id, )).fetchone() if session_row is None or 0 == len(session_row): return None else: session = Session(session_detail=json.loads(session_row[0])) user_row = c.execute("SELECT email FROM user WHERE sub = ?", (session.get_user_sub(), )).fetchone() if user_row is None or 0 == len(user_row): return None user = User(sub=session.get_user_sub(), email=user_row[0]) return session, user
def init_create_user(): user = User(None) print() print("address/key:", user.address) print() return user
def user(self): return User(self._connector, self._api_prefix)
def redirect_uri_handler(): token_is_valid = False if 'state' not in session or session['state'] != request.args['state']: raise BadRequest('Missing or invalid state') if 'code' not in request.args: raise BadRequest('No code in response') try: token_data = _client.get_token(request.args['code']) if "error" in token_data: err_response = jsonify({ "success": False, "message": token_data["error"], "detail": "" if "error_description" not in token_data else token_data["error_description"], "status_code": 500 }) err_response.status_code = 500 return err_response except Exception as e: raise BadRequest('Could not fetch token(s): ' + str(e)) session.pop('state', None) # Store in basic server session, since flask session use cookie for storage user_session = Session() if 'access_token' in token_data: user_session.set_access_token(token_data['access_token']) if _jwt_validator and 'id_token' in token_data: # validate JWS; signature, aud and iss. # Token type, access token, ref-token and JWT if 0 == len(_config.get_issuer()): raise BadRequest('Could not validate token: no issuer configured') try: _jwt_validator.validate(token_data['id_token'], _config.get_issuer(), _config.get_client_id()) token_is_valid = True except JwtValidatorException as bs: raise BadRequest('Could not validate token: ' + str(bs)) except Exception as ve: raise BadRequest('Unexpected exception: ' + str(ve)) user_session.set_id_token(token_data['id_token']) if not token_is_valid: raise BadRequest('Forbidden', status_code=403) if 'refresh_token' in token_data: user_session.set_refresh_token(token_data['refresh_token']) user_info = _client.get_user_info(user_session.get_access_token()) if "email" not in user_info: user = User(email=None, sub=user_info["sub"]) else: user = User(email=user_info["email"], sub=user_info["sub"]) user_session.set_user_sub(user.get_sub()) _db.save_session(user_session, user) session['session_id'] = user_session.get_id() return redirect('/')