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}