Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // /auth - generate random token username/password || username/rememberToken. Token length - 20
- // user_id, token, rememberToken
- def authorizeUser(username: String, password: String, remember: Boolean): ServiceResponse[UserAuthData] =
- authServiceClient.checkCredentials(username, password)
- .flatMapT {
- case userId if remember =>
- generateRememberToken(userId).mapT(Option.apply).flatMapT(saveClientToken(userId, _))
- case userId =>
- saveClientToken(userId, None)
- }
- def authorizeUser(username: String, rememberToken: String): ServiceResponse[UserAuthData] =
- tokenServiceClient.validateToken(rememberToken, rememberAuthOp)
- .flatMapT(saveClientToken(_, Some(rememberToken)))
- // /join - token, serverAuthId
- // {"id":"OK"}
- // on error: {error: bad login, message: bad login}
- def linkServerAuthTokenToUserId(token: String, serverAuthToken: String): ServiceResponse[Unit] =
- tokenServiceClient.validateToken(token, launcherAuthOp)
- .flatMapT(tokenServiceClient.saveToken(serverAuthToken, _, serverAuthOp, DateTime.now().plusHours(12).getMillis))
- .mapT(_ => ())
- // /check - username, serverAuthId
- // json with user data
- // on error: {error: bad login, message: bad login}
- def resolveUserByServerAuthToken(username: String, serverAuthToken: String): ServiceResponse[LauncherSession] =
- tokenServiceClient.validateToken(serverAuthToken, serverAuthOp)
- .flatMapT(buildLauncherSession)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement