The codebase that powers boop.cat boop.cat
11
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix oauth

+4 -3
+4 -3
backend-go/handlers/atproto.go
··· 143 143 meta["policy_uri"] = fmt.Sprintf("%s/privacy", b) 144 144 } 145 145 if meta["scope"] == "" || meta["scope"] == nil { 146 - meta["scope"] = "atproto transition:generic" 146 + meta["scope"] = "atproto" 147 147 } 148 148 149 149 w.Header().Set("Content-Type", "application/json") ··· 156 156 jsonError(w, "atproto-not-configured", http.StatusNotFound) 157 157 return 158 158 } 159 - 159 + keyPEM = strings.ReplaceAll(keyPEM, `\n`, "\n") 160 160 block, _ := pem.Decode([]byte(keyPEM)) 161 161 if block == nil { 162 162 jsonError(w, "invalid-key-format", http.StatusInternalServerError) ··· 250 250 v.Set("redirect_uri", redirectURI) 251 251 scope := os.Getenv("ATPROTO_SCOPE") 252 252 if scope == "" { 253 - scope = "atproto transition:generic" 253 + scope = "atproto" 254 254 } 255 255 v.Set("scope", scope) 256 256 v.Set("state", state) ··· 511 511 512 512 func getPrivateKey() (*ecdsa.PrivateKey, error) { 513 513 keyPEM := os.Getenv("ATPROTO_PRIVATE_KEY_1") 514 + keyPEM = strings.ReplaceAll(keyPEM, `\n`, "\n") 514 515 block, _ := pem.Decode([]byte(keyPEM)) 515 516 if block == nil { 516 517 return nil, fmt.Errorf("invalid key")