MCPcopy Create free account
hub / github.com/TheThingsNetwork/lorawan-stack / LoadAuthorize

Method LoadAuthorize

pkg/oauth/storage.go:119–157  ·  view source on GitHub ↗
(code string)

Source from the content-addressed store, hash-verified

117}
118
119func (s *storage) LoadAuthorize(code string) (data *osin.AuthorizeData, err error) {
120 var (
121 authorizationCode *ttnpb.OAuthAuthorizationCode
122 client *ttnpb.Client
123 )
124 err = s.store.Transact(s.ctx, func(ctx context.Context, st oauth_store.Interface) (err error) {
125 authorizationCode, err = st.GetAuthorizationCode(ctx, code)
126 if err != nil {
127 return err
128 }
129 client, err = st.GetClient(ctx, authorizationCode.ClientIds, nil)
130 if err != nil {
131 return err
132 }
133 return nil
134 })
135 if err != nil {
136 return nil, err
137 }
138 var expiresIn int32
139 if expiresAt := ttnpb.StdTime(authorizationCode.ExpiresAt); expiresAt != nil {
140 expiresIn = int32(expiresAt.Sub(*ttnpb.StdTime(authorizationCode.CreatedAt)).Seconds())
141 }
142 return &osin.AuthorizeData{
143 Client: osinClient{client},
144 Code: code,
145 ExpiresIn: expiresIn,
146 Scope: rightsToScope(authorizationCode.Rights...),
147 RedirectUri: authorizationCode.RedirectUri,
148 State: authorizationCode.State,
149 CreatedAt: *ttnpb.StdTime(authorizationCode.CreatedAt),
150 UserData: userData{
151 UserSessionIdentifiers: &ttnpb.UserSessionIdentifiers{
152 UserIds: authorizationCode.UserIds,
153 SessionId: authorizationCode.UserSessionId,
154 },
155 },
156 }, nil
157}
158
159func (s *storage) RemoveAuthorize(code string) error {
160 return s.store.Transact(s.ctx, func(ctx context.Context, st oauth_store.Interface) error {

Callers

nothing calls this directly

Calls 6

StdTimeFunction · 0.92
rightsToScopeFunction · 0.85
SubMethod · 0.80
TransactMethod · 0.65
GetAuthorizationCodeMethod · 0.65
GetClientMethod · 0.65

Tested by

no test coverage detected