Compare commits

..

2 commits

Author SHA1 Message Date
84535cb5a7 Fix auth 2025-10-12 11:45:10 +01:00
d4909eaad4 Fix CheckSessionValid function 2025-10-12 11:44:04 +01:00
2 changed files with 11 additions and 4 deletions

View file

@ -118,8 +118,14 @@ func (bluesky *Bluesky) RefreshSession() error {
func (bluesky *Bluesky) CheckSessionValid() {
resp := new(BSkySessionResponse)
params := struct {
Actor string `url:"actor"`
}{
Actor: bluesky.Cfg.Handle,
}
bluesky.sling.New().Set("Authorization", fmt.Sprintf("Bearer %s", bluesky.Cfg.AccessJWT)).
Get("/xrpc/app.bsky.actor.getProfile").Receive(resp, resp)
Get("/xrpc/app.bsky.actor.getProfile").QueryStruct(params).Receive(resp, resp)
if resp.Error == "ExpiredToken" {
bluesky.RefreshSession()
}

View file

@ -15,6 +15,7 @@ import (
type BSky struct {
Bluesky *Bluesky
DID string
}
func NewBSky() *BSky {
@ -104,10 +105,10 @@ func (b *BSky) GetPDS(handle string) string {
func (b *BSky) Auth(authData []string) error {
b.Bluesky.Cfg.Handle = authData[0]
b.getPDS()
auth, err := loadAuth()
if err != nil { // no auth session found
auth, _ := loadAuth()
if auth == nil || auth.AccessJWT == "" { // no auth session found
b.Bluesky.Cfg.AppPassword = authData[1]
err = b.Bluesky.CreateSession(b.Bluesky.Cfg)
err := b.Bluesky.CreateSession(b.Bluesky.Cfg)
if err != nil {
return fmt.Errorf("unable to auth: %s", err)
}