mirror of
https://github.com/balena-io/balena-cli.git
synced 2025-04-12 21:52:56 +00:00
Check token validity against the API when login
Consider the following case: The SDK is configured to point to staging, but the user passes a token from production, or viceversa. Since the token is valid in a sense that is valid JWT and contains real data, the CLI will report as a success. The user will then get Unauthorized errors when using the API.
This commit is contained in:
parent
4bdcd3d2ee
commit
dc257b5cab
@ -41,7 +41,14 @@
|
||||
type: 'input'
|
||||
});
|
||||
});
|
||||
}).then(resin.auth.loginWithToken).then(resin.auth.whoami).tap(function(username) {
|
||||
}).then(resin.auth.loginWithToken).then(function(token) {
|
||||
return resin.auth.isLoggedIn().then(function(isLoggedIn) {
|
||||
if (isLoggedIn) {
|
||||
return token;
|
||||
}
|
||||
throw new Error('Authentication failed');
|
||||
});
|
||||
}).then(resin.auth.whoami).tap(function(username) {
|
||||
console.info("Successfully logged in as: " + username);
|
||||
return events.send('user.login');
|
||||
}).nodeify(done);
|
||||
|
@ -48,6 +48,10 @@ exports.login =
|
||||
type: 'input'
|
||||
|
||||
.then(resin.auth.loginWithToken)
|
||||
.then (token) ->
|
||||
resin.auth.isLoggedIn().then (isLoggedIn) ->
|
||||
return token if isLoggedIn
|
||||
throw new Error('Authentication failed')
|
||||
.then(resin.auth.whoami)
|
||||
.tap (username) ->
|
||||
console.info("Successfully logged in as: #{username}")
|
||||
|
Loading…
x
Reference in New Issue
Block a user