components_quickConnect_QuickConnect.bs
import "pkg:/source/api/baseRequest.bs"
import "pkg:/source/api/userAuth.bs"
import "pkg:/source/roku_modules/log/LogMixin.brs"
import "pkg:/source/utils/config.bs"
sub init()
m.log = new log.Logger("QuickConnect")
m.top.functionName = "monitorQuickConnect"
end sub
sub monitorQuickConnect()
m.log.debug("Polling Quick Connect approval status")
authenticated = checkQuickConnect(m.top.secret)
if authenticated = true
m.log.info("Quick Connect approved on server - exchanging secret for auth token")
loggedIn = AuthenticateViaQuickConnect(m.top.secret)
if loggedIn
currentUser = AboutMe()
' Hydrate in-memory user state only. The post-auth save-credentials prompt
' in QuickConnectDialog decides whether to persist the token to registry.
user.Login(currentUser, false)
user.LoadUserPreferences()
m.log.info("Quick Connect authentication succeeded")
m.top.authenticated = 1
return
end if
m.log.warn("Quick Connect token exchange failed after server approval")
else
m.log.debug("Quick Connect not yet approved - dialog will resume polling")
end if
m.top.authenticated = -1
end sub