authmanager.js 1.0 KB

12345678910111213141516171819202122232425
  1. const ConfigManager = require('./configmanager.js')
  2. const Mojang = require('./mojang.js')
  3. exports.addAccount = function(username, password){
  4. return new Promise(async function(resolve, reject){
  5. const session = await Mojang.authenticate(username, password, ConfigManager.getClientToken)
  6. const ret = ConfigManager.addAuthAccount(session.selectedProfile.id, session.accessToken, username, session.selectedProfile.name)
  7. ConfigManager.save()
  8. resolve(ret)
  9. })
  10. }
  11. exports.validateSelected = function(){
  12. return new Promise(async function(resolve, reject){
  13. const current = ConfigManager.getSelectedAccount()
  14. if(!await Mojang.validate(current.accessToken, ConfigManager.getClientToken)){
  15. const session = Mojang.refresh(current.accessToken, ConfigManager.getClientToken)
  16. const ret = ConfigManager.updateAuthAccount(current.uuid, session.accessToken)
  17. ConfigManager.save()
  18. resolve(ret)
  19. } else {
  20. resolve(current)
  21. }
  22. })
  23. }