Skip to content

CAT5NEKO/miauth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Miauth Package for Misskey Authentication

WIP!!!!!!!!!!!!!!!

Overview

MiauthのGo言語用パッケージです。

Usage

セッションIDを取得する

UUIDの生成にgithub.com/google/uuidを使用しています。 go.modファイルに追加しておいてください。

sessionID := miauth.GenerateSessionID()

MiauthURLの構造を作成する

appName := "MyApp"
callbackURL := "https://myapp.example.pigi/callback"
permission := "write:notes,write:following,read:drive"

miauthURL := miauth.ConstructMiauthURL(sessionID, appName, callbackURL, permission)

認証を行う

checkURL := fmt.Sprintf("https://{host}/api/miauth/%s/check", sessionID)

accessTokenResponse, err := miauth.PerformMiauthAuthentication(sessionID)
if err != nil {
	fmt.Println("Error:", err)
	return
}

token := accessTokenResponse.Token
user := accessTokenResponse.User

大まかな実装

package main

import (
   "fmt"
   "github.com/CAT5NEKO/miauth"
)

func main() {

   sessionID := miauth.GenerateSessionID()
   appName := "MyApp"
   
   callbackURL := "https://localhost:8000/callback"
   permission := "write:notes,write:following,read:drive"
   miauthURL := miauth.ConstructMiauthURL(sessionID, appName, callbackURL, permission)

   //ピギモンゴをホストにする
   accessTokenResponse, err := miauth.PerformMiauthAuthentication(sessionID, "pigi.mongo")
   if err != nil {
   	fmt.Println("Error:", err)
   	return
   }
   
   token := accessTokenResponse.Token
   user := accessTokenResponse.User

   fmt.Println("Session ID:", sessionID)
   fmt.Println("Miauth URL:", miauthURL)
   fmt.Println("Access Token:", token)
   fmt.Println("User ID:", user.ID)
   fmt.Println("User Name:", user.Name)
}

About

Go Miauth Package for Misskey Authentication

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages