Add: get access token

This commit is contained in:
Cutls 2019-04-25 01:04:26 +09:00
parent 4887dfbd5b
commit fd719a0235
2 changed files with 24 additions and 17 deletions

View File

@ -26,6 +26,7 @@ type Instance = string
export default class Auth extends Vue {
public instance: Instance = ""
public inputCode: boolean = false
public code: string
public get hasDomain() {
return this.instance != ""
}
@ -37,7 +38,7 @@ export default class Auth extends Vue {
public authCode() {
let code = this.code
this.inputCode = true
ipcRenderer.send(`new-account-setup`, target)
ipcRenderer.send(`new-account-auth`, code, this.instance)
}
}
</script>

View File

@ -3,22 +3,22 @@ import Mastodon from "megalodon"
export default class Auth {
public static ready() {
ipcMain.on("new-account-setup", async (event: Event, instance: string) => {
const SCOPES: string = "read write follow"
let clientId: string
let clientSecret: string
ipcMain.on("new-account-setup", async (event: Event, instance: string) => {
const SCOPES: string = "read write follow"
let url: string | null
Mastodon.registerApp(
"TheDesk",
{
scopes: SCOPES
},
"https://"+instance
"https://" + instance
).then(appData => {
clientId = appData.clientId
clientSecret = appData.clientSecret
url = appData.url
if(url){
if (url) {
shell.openExternal(
url,
{
@ -28,11 +28,17 @@ export default class Auth {
if (err) console.log(err)
}
)
}else{
} else {
console.log(appData)
}
})
})
ipcMain.on("new-account-auth", async (event: Event, code: string, instance: string) => {
Mastodon.fetchAccessToken(clientId, clientSecret, code, "https://"+instance)
.then((tokenData: Partial<{ accessToken: string }>) => {
console.log(tokenData.accessToken)
})
.catch((err: Error) => console.error(err))
})
}
}