package casdoor import ( "github.com/casdoor/casdoor-go-sdk/casdoorsdk" "go.uber.org/zap" "golang.org/x/oauth2" ) const ( endpoint string = "https://raspberrypi.dev/casdoor" clientId string = "f7059ed03570512cc79c" clientSecret string = "437e687903cce3d4aef50f5ab14f863faba41cad" certificate string = ` -----BEGIN CERTIFICATE----- MIIE3TCCAsWgAwIBAgIDAeJAMA0GCSqGSIb3DQEBCwUAMCgxDjAMBgNVBAoTBWFk bWluMRYwFAYDVQQDEw1jZXJ0LWJ1aWx0LWluMB4XDTI1MDUwNzA5NDMwN1oXDTQ1 MDUwNzA5NDMwN1owKDEOMAwGA1UEChMFYWRtaW4xFjAUBgNVBAMTDWNlcnQtYnVp bHQtaW4wggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQC6bhrTnADekQLx KtKiOqehyevrHzXKvBykfjwO6k0oLV9VSMntki2FNASDYTs3eFtG7wqPJoWJuDPC +XISWIwKc0Bc8trIeQkSiJOvLWF57wOX0HlxvGd6ooRrPe6yAHjMcMtNP5s+DzpO qfOIOCH9oOFBxHN02VIRoo+ACflI9mkS6TRIAJ8fG5L631qulyYwyq3TJ6vaBxte 1ZWV0Fh72VD3FaME9pmHdv3IcnX6U2pvwZoN+jSOiaTSCI15+5PFsC3av1k5ZJTH +Yp7okwVvQRJbwOwM4Lr3eQE7tcUVxLbstVKwhsR2EqtVHRlt+r0SUE72aASaM3m iWZS8lKJIJxbSRgtf3zOkpZR4zIBU3zdB9OoHykxLlbg4POOLloWMsdVflXbWzRt Abwo5SSsMq+Yr7+E4EB6ricXz1OvUPELEZa1c6QhTUzeBhrV5ro/QNNN32HCFgu4 ivLxijF7FFGdxFykUArWxEd+d5+lCuHn8lDxYGBvp65G36f8knyOtN4K02cFoNtY 5l+s9yqkyELfw8it0bkxO609KZd9Xkp3wUloBMdiJ7UxUNIVS0bpL7wkwt/CzPdM Bm/RAPzkjazKgireWZ0cKv3QfYu4+QC8E7QeXI9Oqm6YCSMPsGJBOM9arA7xZdUc JZnNstHWHrFihbY1nG6WQwT8ndMYpwIDAQABoxAwDjAMBgNVHRMBAf8EAjAAMA0G CSqGSIb3DQEBCwUAA4ICAQAri/3HicFl5pu3B2udfdVgxmgUmf1nvPFhuiV7hgIP 5CVHe2IiDPJYGL55NNqYQpRLTE7Egnz6TMRiVuYKYBHLM2Tb133GpTvXntiwb+D/ FSha4clBJBBHlx7lX8xGy+FIwlWQQzB/O8S1hbRi869Kb91QFIRgbRsW6Bt+0Y+9 OtilWi5scqV28Lt2XyzxsQgsYAu0VOSxFs8Rk1WIvAAciefiPMGAlIpsm52c/0H+ s1LqdPLoj+GF3/iMOd4EIRFGiH3ntdBqYjvf39w90uNn0uWBnVdyu8IsbNU92v84 jdE7sTYMD74Q9rt9JH/dr2Z4ufjRSn6x7mRNxw3oPnMd5qdbB1ux8j5zrJAARRrQ QKju4s5SB+6WWjALhoMfO7N0wIqoKDleoaGxUj1r4AX9P+wRP0H1W2PV/H0y+el1 gjpPCfs/IZGgWkSvpHI0b6yikTaCZeAgoBPB2sjTWZyeBnkXEM8BGgVjgaoFUwIl OgE9eIWpTKBvPYYellO+hB47j75BnIF7GImDBIwHvEtk7jw3psaLSYGGoNhcG5X9 xJe+ghCvXu1cz5mvUxMIrUsbUL4zSCsJpkzQQQ+95ZJroGsl6dwewMY8hYhXo7wJ EikVj20dYSjAC2azqGic6fIDosE+qdT8zzCkmEOJQg42D1eRl+E2KmIThFpIyNp/ Vw== -----END CERTIFICATE----- ` organizationName string = "organization_franklinwh_toolbox" applicationName string = "app-franklinwh-toolbox" ) func InitAuthConfig() { casdoorsdk.InitConfig( endpoint, clientId, clientSecret, certificate, organizationName, applicationName, ) } func Signin(code, state string) (*oauth2.Token, error) { token, err := casdoorsdk.GetOAuthToken(code, state) if err != nil { zap.L().Error("GetOAuthToken() error", zap.String("err", err.Error())) return nil, err } return token, nil } func RefreshToken(refreshToken string) (*oauth2.Token, error) { token, err := casdoorsdk.RefreshOAuthToken(refreshToken) if err != nil { zap.L().Error("GetOAuthToken() error", zap.String("err", err.Error())) return nil, err } return token, nil } type CasdoorClaims = casdoorsdk.Claims func ParseJwtToken(token string) (*CasdoorClaims, error) { claims, err := casdoorsdk.ParseJwtToken(token) if err != nil { return nil, err } claims.AccessToken = token return claims, nil }