github.com/clerkinc/clerk-sdk-go@v1.49.1/clerk/tokens_issuer.go (about) 1 package clerk 2 3 import "strings" 4 5 type issuer struct { 6 iss string 7 isSatellite bool 8 proxyURL string 9 } 10 11 func newIssuer(iss string) *issuer { 12 return &issuer{ 13 iss: iss, 14 } 15 } 16 17 func (iss *issuer) WithSatelliteDomain(isSatellite bool) *issuer { 18 iss.isSatellite = isSatellite 19 return iss 20 } 21 22 func (iss *issuer) WithProxyURL(proxyURL string) *issuer { 23 iss.proxyURL = proxyURL 24 return iss 25 } 26 27 func (iss *issuer) IsValid() bool { 28 if iss.isSatellite { 29 return true 30 } 31 32 if iss.proxyURL != "" { 33 return iss.iss == iss.proxyURL 34 } 35 36 return strings.HasPrefix(iss.iss, "https://clerk.") || 37 strings.Contains(iss.iss, ".clerk.accounts") 38 }