PTGU OAuth Line
Import
import (
PTGUoauth "github.com/parinyapt/golang_utils/oauth/line/v1"
)
Example
Config OAuth
lineOAuth := PTGUoauth.NewLineOAuth(&PTGUoauth.LineOAuthConfig{
ClientID: "xxxxxxxxxx",
ClientSecret: "xxxxxxxxxx",
RedirectURL: "https://example.com/callback",
})
Generate Login URL
loginURL := lineOAuth.GenerateOAuthURL(PTGUoauth.OptionLineGenerateOAuthURL{
Scopes: []string{
"openid",
"profile",
"email",
},
State: "xxxxxxxxxx",
})
Get Access, Refresh, ID Token by Auth Code
tokenData, err := lineOAuth.GetToken("NVkNw1K197uvr0eLOYNc")
if err != nil {
panic(err)
}
fmt.Println("AccessToken : " + tokenData.AccessToken)
fmt.Println(tokenData.ExpiresIn)
fmt.Println("IDToken : " + tokenData.IDToken)
fmt.Println("RefreshToken : " + tokenData.RefreshToken)
fmt.Println("Scope : " + tokenData.Scope)
fmt.Println("TokenType : " + tokenData.TokenType)
Get ID Token Info
idTokenInfo, err := lineOAuth.GetIDTokenInfo("eyJ0eXAi....")
if err != nil {
panic(err)
}
fmt.Println("Nonce : " + PTGUdata.PointerToStringValue(idTokenInfo.Nonce))
fmt.Println("UserID : " + idTokenInfo.Sub)
fmt.Println("Name : " + PTGUdata.PointerToStringValue(idTokenInfo.Name))
fmt.Println("Picture : " + PTGUdata.PointerToStringValue(idTokenInfo.Picture))
fmt.Println("Email : " + PTGUdata.PointerToStringValue(idTokenInfo.Email))