An atproto PDS written in Go
1package provider 2 3import ( 4 "github.com/haileyok/cocoon/oauth/client" 5 "github.com/haileyok/cocoon/oauth/dpop" 6) 7 8type Provider struct { 9 ClientManager *client.Manager 10 DpopManager *dpop.Manager 11 12 hostname string 13} 14 15type Args struct { 16 Hostname string 17 ClientManagerArgs client.ManagerArgs 18 DpopManagerArgs dpop.ManagerArgs 19} 20 21func NewProvider(args Args) *Provider { 22 return &Provider{ 23 ClientManager: client.NewManager(args.ClientManagerArgs), 24 DpopManager: dpop.NewManager(args.DpopManagerArgs), 25 hostname: args.Hostname, 26 } 27} 28 29func (p *Provider) NextNonce() string { 30 return p.DpopManager.NextNonce() 31}