forked from MapComplete/MapComplete
Anrdoid: add 'getToken' to OSM Connection
This commit is contained in:
parent
f25f5f156d
commit
3ec83483d8
2 changed files with 36 additions and 8 deletions
28
app/land.ts
28
app/land.ts
|
@ -3,22 +3,42 @@ import Constants from "../src/Models/Constants"
|
|||
import { Utils } from "../src/Utils"
|
||||
import { UIEventSource } from "../src/Logic/UIEventSource"
|
||||
import { VariableUiElement } from "../src/UI/Base/VariableUIElement"
|
||||
import Combine from "../src/UI/Base/Combine"
|
||||
|
||||
console.log("Authorizing...")
|
||||
const key = Constants.osmAuthConfig.url + "oauth2_state"
|
||||
const st = window.localStorage.getItem(key)
|
||||
console.log("Prev state is", key, st)
|
||||
const tokenSrc = new UIEventSource("")
|
||||
new VariableUiElement(tokenSrc).AttachTo("token")
|
||||
const debug = new UIEventSource<string[]>([])
|
||||
|
||||
new Combine([
|
||||
new VariableUiElement(debug.map(debug => "<ul><li>"+debug.join("</li><li>")+"</li></ul>")),
|
||||
new VariableUiElement(tokenSrc)]).AttachTo("token")
|
||||
|
||||
|
||||
new OsmConnection().finishLogin(async (_, token: string) => {
|
||||
const connection = new OsmConnection()
|
||||
connection.finishLogin(async () => {
|
||||
let token: string = undefined
|
||||
let attempt = 0
|
||||
do {
|
||||
await Utils.waitFor(500)
|
||||
token = connection.getToken()
|
||||
tokenSrc.set("Trying to get token ("+attempt+")")
|
||||
attempt++
|
||||
|
||||
const dbg = []
|
||||
Object.keys(localStorage).forEach(key => {
|
||||
dbg.push(`${key} - ${localStorage.getItem(key)}`);
|
||||
})
|
||||
debug.set(dbg)
|
||||
|
||||
} while (!token)
|
||||
console.log("Login finished, redirecting to passthrough; token is " + token)
|
||||
tokenSrc.set(token)
|
||||
if(!token){
|
||||
if (!token) {
|
||||
tokenSrc.set("ERROR: no token retrieved!")
|
||||
return
|
||||
}
|
||||
await Utils.waitFor(500)
|
||||
window.location.href = "orgmapcomplete://passthrough.html?oauth_token=" + token
|
||||
})
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue