001/*******************************************************************************
002 * Copyright 2017 The MIT Internet Trust Consortium
003 *
004 * Portions copyright 2011-2013 The MITRE Corporation
005 *
006 * Licensed under the Apache License, Version 2.0 (the "License");
007 * you may not use this file except in compliance with the License.
008 * You may obtain a copy of the License at
009 *
010 *   http://www.apache.org/licenses/LICENSE-2.0
011 *
012 * Unless required by applicable law or agreed to in writing, software
013 * distributed under the License is distributed on an "AS IS" BASIS,
014 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015 * See the License for the specific language governing permissions and
016 * limitations under the License.
017 *******************************************************************************/
018/**
019 *
020 */
021package org.mitre.oauth2.model;
022
023import java.util.Date;
024import java.util.Map;
025import java.util.Set;
026
027import org.mitre.oauth2.model.ClientDetailsEntity.AppType;
028import org.mitre.oauth2.model.ClientDetailsEntity.AuthMethod;
029import org.mitre.oauth2.model.ClientDetailsEntity.SubjectType;
030import org.springframework.security.core.GrantedAuthority;
031
032import com.google.gson.JsonObject;
033import com.nimbusds.jose.EncryptionMethod;
034import com.nimbusds.jose.JWEAlgorithm;
035import com.nimbusds.jose.JWSAlgorithm;
036import com.nimbusds.jose.jwk.JWKSet;
037import com.nimbusds.jwt.JWT;
038
039/**
040 * @author jricher
041 *
042 */
043public class RegisteredClient {
044
045        // these fields are needed in addition to the ones in ClientDetailsEntity
046        private String registrationAccessToken;
047        private String registrationClientUri;
048        private Date clientSecretExpiresAt;
049        private Date clientIdIssuedAt;
050        private ClientDetailsEntity client;
051        private JsonObject src;
052
053        /**
054         *
055         */
056        public RegisteredClient() {
057                this.client = new ClientDetailsEntity();
058        }
059
060        /**
061         * @param client
062         */
063        public RegisteredClient(ClientDetailsEntity client) {
064                this.client = client;
065        }
066
067        /**
068         * @param client
069         * @param registrationAccessToken
070         * @param registrationClientUri
071         */
072        public RegisteredClient(ClientDetailsEntity client, String registrationAccessToken, String registrationClientUri) {
073                this.client = client;
074                this.registrationAccessToken = registrationAccessToken;
075                this.registrationClientUri = registrationClientUri;
076        }
077
078        /**
079         * @return the client
080         */
081        public ClientDetailsEntity getClient() {
082                return client;
083        }
084        /**
085         * @param client the client to set
086         */
087        public void setClient(ClientDetailsEntity client) {
088                this.client = client;
089        }
090        /**
091         * @return
092         * @see org.mitre.oauth2.model.ClientDetailsEntity#getClientDescription()
093         */
094        public String getClientDescription() {
095                return client.getClientDescription();
096        }
097        /**
098         * @param clientDescription
099         * @see org.mitre.oauth2.model.ClientDetailsEntity#setClientDescription(java.lang.String)
100         */
101        public void setClientDescription(String clientDescription) {
102                client.setClientDescription(clientDescription);
103        }
104        /**
105         * @return
106         * @see org.mitre.oauth2.model.ClientDetailsEntity#isAllowRefresh()
107         */
108        public boolean isAllowRefresh() {
109                return client.isAllowRefresh();
110        }
111        /**
112         * @return
113         * @see org.mitre.oauth2.model.ClientDetailsEntity#isReuseRefreshToken()
114         */
115        public boolean isReuseRefreshToken() {
116                return client.isReuseRefreshToken();
117        }
118        /**
119         * @param reuseRefreshToken
120         * @see org.mitre.oauth2.model.ClientDetailsEntity#setReuseRefreshToken(boolean)
121         */
122        public void setReuseRefreshToken(boolean reuseRefreshToken) {
123                client.setReuseRefreshToken(reuseRefreshToken);
124        }
125        /**
126         * @return
127         * @see org.mitre.oauth2.model.ClientDetailsEntity#getIdTokenValiditySeconds()
128         */
129        public Integer getIdTokenValiditySeconds() {
130                return client.getIdTokenValiditySeconds();
131        }
132        /**
133         * @param idTokenValiditySeconds
134         * @see org.mitre.oauth2.model.ClientDetailsEntity#setIdTokenValiditySeconds(java.lang.Integer)
135         */
136        public void setIdTokenValiditySeconds(Integer idTokenValiditySeconds) {
137                client.setIdTokenValiditySeconds(idTokenValiditySeconds);
138        }
139        /**
140         * @return
141         * @see org.mitre.oauth2.model.ClientDetailsEntity#isDynamicallyRegistered()
142         */
143        public boolean isDynamicallyRegistered() {
144                return client.isDynamicallyRegistered();
145        }
146        /**
147         * @param dynamicallyRegistered
148         * @see org.mitre.oauth2.model.ClientDetailsEntity#setDynamicallyRegistered(boolean)
149         */
150        public void setDynamicallyRegistered(boolean dynamicallyRegistered) {
151                client.setDynamicallyRegistered(dynamicallyRegistered);
152        }
153        /**
154         * @return
155         * @see org.mitre.oauth2.model.ClientDetailsEntity#isAllowIntrospection()
156         */
157        public boolean isAllowIntrospection() {
158                return client.isAllowIntrospection();
159        }
160        /**
161         * @param allowIntrospection
162         * @see org.mitre.oauth2.model.ClientDetailsEntity#setAllowIntrospection(boolean)
163         */
164        public void setAllowIntrospection(boolean allowIntrospection) {
165                client.setAllowIntrospection(allowIntrospection);
166        }
167        /**
168         * @return
169         * @see org.mitre.oauth2.model.ClientDetailsEntity#isSecretRequired()
170         */
171        public boolean isSecretRequired() {
172                return client.isSecretRequired();
173        }
174        /**
175         * @return
176         * @see org.mitre.oauth2.model.ClientDetailsEntity#isScoped()
177         */
178        public boolean isScoped() {
179                return client.isScoped();
180        }
181        /**
182         * @return
183         * @see org.mitre.oauth2.model.ClientDetailsEntity#getClientId()
184         */
185        public String getClientId() {
186                return client.getClientId();
187        }
188        /**
189         * @param clientId
190         * @see org.mitre.oauth2.model.ClientDetailsEntity#setClientId(java.lang.String)
191         */
192        public void setClientId(String clientId) {
193                client.setClientId(clientId);
194        }
195        /**
196         * @return
197         * @see org.mitre.oauth2.model.ClientDetailsEntity#getClientSecret()
198         */
199        public String getClientSecret() {
200                return client.getClientSecret();
201        }
202        /**
203         * @param clientSecret
204         * @see org.mitre.oauth2.model.ClientDetailsEntity#setClientSecret(java.lang.String)
205         */
206        public void setClientSecret(String clientSecret) {
207                client.setClientSecret(clientSecret);
208        }
209        /**
210         * @return
211         * @see org.mitre.oauth2.model.ClientDetailsEntity#getScope()
212         */
213        public Set<String> getScope() {
214                return client.getScope();
215        }
216        /**
217         * @param scope
218         * @see org.mitre.oauth2.model.ClientDetailsEntity#setScope(java.util.Set)
219         */
220        public void setScope(Set<String> scope) {
221                client.setScope(scope);
222        }
223        /**
224         * @return
225         * @see org.mitre.oauth2.model.ClientDetailsEntity#getGrantTypes()
226         */
227        public Set<String> getGrantTypes() {
228                return client.getGrantTypes();
229        }
230        /**
231         * @param grantTypes
232         * @see org.mitre.oauth2.model.ClientDetailsEntity#setGrantTypes(java.util.Set)
233         */
234        public void setGrantTypes(Set<String> grantTypes) {
235                client.setGrantTypes(grantTypes);
236        }
237        /**
238         * @return
239         * @see org.mitre.oauth2.model.ClientDetailsEntity#getAuthorizedGrantTypes()
240         */
241        public Set<String> getAuthorizedGrantTypes() {
242                return client.getAuthorizedGrantTypes();
243        }
244        /**
245         * @return
246         * @see org.mitre.oauth2.model.ClientDetailsEntity#getAuthorities()
247         */
248        public Set<GrantedAuthority> getAuthorities() {
249                return client.getAuthorities();
250        }
251        /**
252         * @param authorities
253         * @see org.mitre.oauth2.model.ClientDetailsEntity#setAuthorities(java.util.Set)
254         */
255        public void setAuthorities(Set<GrantedAuthority> authorities) {
256                client.setAuthorities(authorities);
257        }
258        /**
259         * @return
260         * @see org.mitre.oauth2.model.ClientDetailsEntity#getAccessTokenValiditySeconds()
261         */
262        public Integer getAccessTokenValiditySeconds() {
263                return client.getAccessTokenValiditySeconds();
264        }
265        /**
266         * @param accessTokenValiditySeconds
267         * @see org.mitre.oauth2.model.ClientDetailsEntity#setAccessTokenValiditySeconds(java.lang.Integer)
268         */
269        public void setAccessTokenValiditySeconds(Integer accessTokenValiditySeconds) {
270                client.setAccessTokenValiditySeconds(accessTokenValiditySeconds);
271        }
272        /**
273         * @return
274         * @see org.mitre.oauth2.model.ClientDetailsEntity#getRefreshTokenValiditySeconds()
275         */
276        public Integer getRefreshTokenValiditySeconds() {
277                return client.getRefreshTokenValiditySeconds();
278        }
279        /**
280         * @param refreshTokenValiditySeconds
281         * @see org.mitre.oauth2.model.ClientDetailsEntity#setRefreshTokenValiditySeconds(java.lang.Integer)
282         */
283        public void setRefreshTokenValiditySeconds(Integer refreshTokenValiditySeconds) {
284                client.setRefreshTokenValiditySeconds(refreshTokenValiditySeconds);
285        }
286        /**
287         * @return
288         * @see org.mitre.oauth2.model.ClientDetailsEntity#getRedirectUris()
289         */
290        public Set<String> getRedirectUris() {
291                return client.getRedirectUris();
292        }
293        /**
294         * @param redirectUris
295         * @see org.mitre.oauth2.model.ClientDetailsEntity#setRedirectUris(java.util.Set)
296         */
297        public void setRedirectUris(Set<String> redirectUris) {
298                client.setRedirectUris(redirectUris);
299        }
300        /**
301         * @return
302         * @see org.mitre.oauth2.model.ClientDetailsEntity#getRegisteredRedirectUri()
303         */
304        public Set<String> getRegisteredRedirectUri() {
305                return client.getRegisteredRedirectUri();
306        }
307        /**
308         * @return
309         * @see org.mitre.oauth2.model.ClientDetailsEntity#getResourceIds()
310         */
311        public Set<String> getResourceIds() {
312                return client.getResourceIds();
313        }
314        /**
315         * @param resourceIds
316         * @see org.mitre.oauth2.model.ClientDetailsEntity#setResourceIds(java.util.Set)
317         */
318        public void setResourceIds(Set<String> resourceIds) {
319                client.setResourceIds(resourceIds);
320        }
321        /**
322         * @return
323         * @see org.mitre.oauth2.model.ClientDetailsEntity#getAdditionalInformation()
324         */
325        public Map<String, Object> getAdditionalInformation() {
326                return client.getAdditionalInformation();
327        }
328        /**
329         * @return
330         * @see org.mitre.oauth2.model.ClientDetailsEntity#getApplicationType()
331         */
332        public AppType getApplicationType() {
333                return client.getApplicationType();
334        }
335        /**
336         * @param applicationType
337         * @see org.mitre.oauth2.model.ClientDetailsEntity#setApplicationType(org.mitre.oauth2.model.ClientDetailsEntity.AppType)
338         */
339        public void setApplicationType(AppType applicationType) {
340                client.setApplicationType(applicationType);
341        }
342        /**
343         * @return
344         * @see org.mitre.oauth2.model.ClientDetailsEntity#getClientName()
345         */
346        public String getClientName() {
347                return client.getClientName();
348        }
349        /**
350         * @param clientName
351         * @see org.mitre.oauth2.model.ClientDetailsEntity#setClientName(java.lang.String)
352         */
353        public void setClientName(String clientName) {
354                client.setClientName(clientName);
355        }
356        /**
357         * @return
358         * @see org.mitre.oauth2.model.ClientDetailsEntity#getTokenEndpointAuthMethod()
359         */
360        public AuthMethod getTokenEndpointAuthMethod() {
361                return client.getTokenEndpointAuthMethod();
362        }
363        /**
364         * @param tokenEndpointAuthMethod
365         * @see org.mitre.oauth2.model.ClientDetailsEntity#setTokenEndpointAuthMethod(org.mitre.oauth2.model.ClientDetailsEntity.AuthMethod)
366         */
367        public void setTokenEndpointAuthMethod(AuthMethod tokenEndpointAuthMethod) {
368                client.setTokenEndpointAuthMethod(tokenEndpointAuthMethod);
369        }
370        /**
371         * @return
372         * @see org.mitre.oauth2.model.ClientDetailsEntity#getSubjectType()
373         */
374        public SubjectType getSubjectType() {
375                return client.getSubjectType();
376        }
377        /**
378         * @param subjectType
379         * @see org.mitre.oauth2.model.ClientDetailsEntity#setSubjectType(org.mitre.oauth2.model.ClientDetailsEntity.SubjectType)
380         */
381        public void setSubjectType(SubjectType subjectType) {
382                client.setSubjectType(subjectType);
383        }
384        /**
385         * @return
386         * @see org.mitre.oauth2.model.ClientDetailsEntity#getContacts()
387         */
388        public Set<String> getContacts() {
389                return client.getContacts();
390        }
391        /**
392         * @param contacts
393         * @see org.mitre.oauth2.model.ClientDetailsEntity#setContacts(java.util.Set)
394         */
395        public void setContacts(Set<String> contacts) {
396                client.setContacts(contacts);
397        }
398        /**
399         * @return
400         * @see org.mitre.oauth2.model.ClientDetailsEntity#getLogoUri()
401         */
402        public String getLogoUri() {
403                return client.getLogoUri();
404        }
405        /**
406         * @param logoUri
407         * @see org.mitre.oauth2.model.ClientDetailsEntity#setLogoUri(java.lang.String)
408         */
409        public void setLogoUri(String logoUri) {
410                client.setLogoUri(logoUri);
411        }
412        /**
413         * @return
414         * @see org.mitre.oauth2.model.ClientDetailsEntity#getPolicyUri()
415         */
416        public String getPolicyUri() {
417                return client.getPolicyUri();
418        }
419        /**
420         * @param policyUri
421         * @see org.mitre.oauth2.model.ClientDetailsEntity#setPolicyUri(java.lang.String)
422         */
423        public void setPolicyUri(String policyUri) {
424                client.setPolicyUri(policyUri);
425        }
426        /**
427         * @return
428         * @see org.mitre.oauth2.model.ClientDetailsEntity#getClientUri()
429         */
430        public String getClientUri() {
431                return client.getClientUri();
432        }
433        /**
434         * @param clientUri
435         * @see org.mitre.oauth2.model.ClientDetailsEntity#setClientUri(java.lang.String)
436         */
437        public void setClientUri(String clientUri) {
438                client.setClientUri(clientUri);
439        }
440        /**
441         * @return
442         * @see org.mitre.oauth2.model.ClientDetailsEntity#getTosUri()
443         */
444        public String getTosUri() {
445                return client.getTosUri();
446        }
447        /**
448         * @param tosUri
449         * @see org.mitre.oauth2.model.ClientDetailsEntity#setTosUri(java.lang.String)
450         */
451        public void setTosUri(String tosUri) {
452                client.setTosUri(tosUri);
453        }
454        /**
455         * @return
456         * @see org.mitre.oauth2.model.ClientDetailsEntity#getJwksUri()
457         */
458        public String getJwksUri() {
459                return client.getJwksUri();
460        }
461        /**
462         * @param jwksUri
463         * @see org.mitre.oauth2.model.ClientDetailsEntity#setJwksUri(java.lang.String)
464         */
465        public void setJwksUri(String jwksUri) {
466                client.setJwksUri(jwksUri);
467        }
468        /**
469         * @return
470         * @see org.mitre.oauth2.model.ClientDetailsEntity#getJwks()
471         */
472        public JWKSet getJwks() {
473                return client.getJwks();
474        }
475
476        /**
477         * @param jwks
478         * @see org.mitre.oauth2.model.ClientDetailsEntity#setJwks(com.nimbusds.jose.jwk.JWKSet)
479         */
480        public void setJwks(JWKSet jwks) {
481                client.setJwks(jwks);
482        }
483
484        /**
485         * @return
486         * @see org.mitre.oauth2.model.ClientDetailsEntity#getSectorIdentifierUri()
487         */
488        public String getSectorIdentifierUri() {
489                return client.getSectorIdentifierUri();
490        }
491        /**
492         * @param sectorIdentifierUri
493         * @see org.mitre.oauth2.model.ClientDetailsEntity#setSectorIdentifierUri(java.lang.String)
494         */
495        public void setSectorIdentifierUri(String sectorIdentifierUri) {
496                client.setSectorIdentifierUri(sectorIdentifierUri);
497        }
498        /**
499         * @return
500         * @see org.mitre.oauth2.model.ClientDetailsEntity#getDefaultMaxAge()
501         */
502        public Integer getDefaultMaxAge() {
503                return client.getDefaultMaxAge();
504        }
505        /**
506         * @param defaultMaxAge
507         * @see org.mitre.oauth2.model.ClientDetailsEntity#setDefaultMaxAge(java.lang.Integer)
508         */
509        public void setDefaultMaxAge(Integer defaultMaxAge) {
510                client.setDefaultMaxAge(defaultMaxAge);
511        }
512        /**
513         * @return
514         * @see org.mitre.oauth2.model.ClientDetailsEntity#getRequireAuthTime()
515         */
516        public Boolean getRequireAuthTime() {
517                return client.getRequireAuthTime();
518        }
519        /**
520         * @param requireAuthTime
521         * @see org.mitre.oauth2.model.ClientDetailsEntity#setRequireAuthTime(java.lang.Boolean)
522         */
523        public void setRequireAuthTime(Boolean requireAuthTime) {
524                client.setRequireAuthTime(requireAuthTime);
525        }
526        /**
527         * @return
528         * @see org.mitre.oauth2.model.ClientDetailsEntity#getResponseTypes()
529         */
530        public Set<String> getResponseTypes() {
531                return client.getResponseTypes();
532        }
533        /**
534         * @param responseTypes
535         * @see org.mitre.oauth2.model.ClientDetailsEntity#setResponseTypes(java.util.Set)
536         */
537        public void setResponseTypes(Set<String> responseTypes) {
538                client.setResponseTypes(responseTypes);
539        }
540        /**
541         * @return
542         * @see org.mitre.oauth2.model.ClientDetailsEntity#getDefaultACRvalues()
543         */
544        public Set<String> getDefaultACRvalues() {
545                return client.getDefaultACRvalues();
546        }
547        /**
548         * @param defaultACRvalues
549         * @see org.mitre.oauth2.model.ClientDetailsEntity#setDefaultACRvalues(java.util.Set)
550         */
551        public void setDefaultACRvalues(Set<String> defaultACRvalues) {
552                client.setDefaultACRvalues(defaultACRvalues);
553        }
554        /**
555         * @return
556         * @see org.mitre.oauth2.model.ClientDetailsEntity#getInitiateLoginUri()
557         */
558        public String getInitiateLoginUri() {
559                return client.getInitiateLoginUri();
560        }
561        /**
562         * @param initiateLoginUri
563         * @see org.mitre.oauth2.model.ClientDetailsEntity#setInitiateLoginUri(java.lang.String)
564         */
565        public void setInitiateLoginUri(String initiateLoginUri) {
566                client.setInitiateLoginUri(initiateLoginUri);
567        }
568        /**
569         * @return
570         * @see org.mitre.oauth2.model.ClientDetailsEntity#getPostLogoutRedirectUris()
571         */
572        public Set<String> getPostLogoutRedirectUris() {
573                return client.getPostLogoutRedirectUris();
574        }
575        /**
576         * @param postLogoutRedirectUri
577         * @see org.mitre.oauth2.model.ClientDetailsEntity#setPostLogoutRedirectUris(java.lang.String)
578         */
579        public void setPostLogoutRedirectUris(Set<String> postLogoutRedirectUri) {
580                client.setPostLogoutRedirectUris(postLogoutRedirectUri);
581        }
582        /**
583         * @return
584         * @see org.mitre.oauth2.model.ClientDetailsEntity#getRequestUris()
585         */
586        public Set<String> getRequestUris() {
587                return client.getRequestUris();
588        }
589        /**
590         * @param requestUris
591         * @see org.mitre.oauth2.model.ClientDetailsEntity#setRequestUris(java.util.Set)
592         */
593        public void setRequestUris(Set<String> requestUris) {
594                client.setRequestUris(requestUris);
595        }
596
597        /**
598         * @return
599         * @see org.mitre.oauth2.model.ClientDetailsEntity#getRequestObjectSigningAlg()
600         */
601        public JWSAlgorithm getRequestObjectSigningAlg() {
602                return client.getRequestObjectSigningAlg();
603        }
604
605        /**
606         * @param requestObjectSigningAlg
607         * @see org.mitre.oauth2.model.ClientDetailsEntity#setRequestObjectSigningAlg(com.nimbusds.jose.JWSAlgorithm)
608         */
609        public void setRequestObjectSigningAlg(JWSAlgorithm requestObjectSigningAlg) {
610                client.setRequestObjectSigningAlg(requestObjectSigningAlg);
611        }
612
613        /**
614         * @return
615         * @see org.mitre.oauth2.model.ClientDetailsEntity#getUserInfoSignedResponseAlg()
616         */
617        public JWSAlgorithm getUserInfoSignedResponseAlg() {
618                return client.getUserInfoSignedResponseAlg();
619        }
620
621        /**
622         * @param userInfoSignedResponseAlg
623         * @see org.mitre.oauth2.model.ClientDetailsEntity#setUserInfoSignedResponseAlg(com.nimbusds.jose.JWSAlgorithm)
624         */
625        public void setUserInfoSignedResponseAlg(JWSAlgorithm userInfoSignedResponseAlg) {
626                client.setUserInfoSignedResponseAlg(userInfoSignedResponseAlg);
627        }
628
629        /**
630         * @return
631         * @see org.mitre.oauth2.model.ClientDetailsEntity#getUserInfoEncryptedResponseAlg()
632         */
633        public JWEAlgorithm getUserInfoEncryptedResponseAlg() {
634                return client.getUserInfoEncryptedResponseAlg();
635        }
636
637        /**
638         * @param userInfoEncryptedResponseAlg
639         * @see org.mitre.oauth2.model.ClientDetailsEntity#setUserInfoEncryptedResponseAlg(com.nimbusds.jose.JWEAlgorithm)
640         */
641        public void setUserInfoEncryptedResponseAlg(JWEAlgorithm userInfoEncryptedResponseAlg) {
642                client.setUserInfoEncryptedResponseAlg(userInfoEncryptedResponseAlg);
643        }
644
645        /**
646         * @return
647         * @see org.mitre.oauth2.model.ClientDetailsEntity#getUserInfoEncryptedResponseEnc()
648         */
649        public EncryptionMethod getUserInfoEncryptedResponseEnc() {
650                return client.getUserInfoEncryptedResponseEnc();
651        }
652
653        /**
654         * @param userInfoEncryptedResponseEnc
655         * @see org.mitre.oauth2.model.ClientDetailsEntity#setUserInfoEncryptedResponseEnc(com.nimbusds.jose.EncryptionMethod)
656         */
657        public void setUserInfoEncryptedResponseEnc(EncryptionMethod userInfoEncryptedResponseEnc) {
658                client.setUserInfoEncryptedResponseEnc(userInfoEncryptedResponseEnc);
659        }
660
661        /**
662         * @return
663         * @see org.mitre.oauth2.model.ClientDetailsEntity#getIdTokenSignedResponseAlg()
664         */
665        public JWSAlgorithm getIdTokenSignedResponseAlg() {
666                return client.getIdTokenSignedResponseAlg();
667        }
668
669        /**
670         * @param idTokenSignedResponseAlg
671         * @see org.mitre.oauth2.model.ClientDetailsEntity#setIdTokenSignedResponseAlg(com.nimbusds.jose.JWSAlgorithm)
672         */
673        public void setIdTokenSignedResponseAlg(JWSAlgorithm idTokenSignedResponseAlg) {
674                client.setIdTokenSignedResponseAlg(idTokenSignedResponseAlg);
675        }
676
677        /**
678         * @return
679         * @see org.mitre.oauth2.model.ClientDetailsEntity#getIdTokenEncryptedResponseAlg()
680         */
681        public JWEAlgorithm getIdTokenEncryptedResponseAlg() {
682                return client.getIdTokenEncryptedResponseAlg();
683        }
684
685        /**
686         * @param idTokenEncryptedResponseAlg
687         * @see org.mitre.oauth2.model.ClientDetailsEntity#setIdTokenEncryptedResponseAlg(com.nimbusds.jose.JWEAlgorithm)
688         */
689        public void setIdTokenEncryptedResponseAlg(JWEAlgorithm idTokenEncryptedResponseAlg) {
690                client.setIdTokenEncryptedResponseAlg(idTokenEncryptedResponseAlg);
691        }
692
693        /**
694         * @return
695         * @see org.mitre.oauth2.model.ClientDetailsEntity#getIdTokenEncryptedResponseEnc()
696         */
697        public EncryptionMethod getIdTokenEncryptedResponseEnc() {
698                return client.getIdTokenEncryptedResponseEnc();
699        }
700
701        /**
702         * @param idTokenEncryptedResponseEnc
703         * @see org.mitre.oauth2.model.ClientDetailsEntity#setIdTokenEncryptedResponseEnc(com.nimbusds.jose.EncryptionMethod)
704         */
705        public void setIdTokenEncryptedResponseEnc(EncryptionMethod idTokenEncryptedResponseEnc) {
706                client.setIdTokenEncryptedResponseEnc(idTokenEncryptedResponseEnc);
707        }
708
709        /**
710         * @return
711         * @see org.mitre.oauth2.model.ClientDetailsEntity#getTokenEndpointAuthSigningAlg()
712         */
713        public JWSAlgorithm getTokenEndpointAuthSigningAlg() {
714                return client.getTokenEndpointAuthSigningAlg();
715        }
716
717        /**
718         * @param tokenEndpointAuthSigningAlg
719         * @see org.mitre.oauth2.model.ClientDetailsEntity#setTokenEndpointAuthSigningAlg(com.nimbusds.jose.JWSAlgorithm)
720         */
721        public void setTokenEndpointAuthSigningAlg(JWSAlgorithm tokenEndpointAuthSigningAlg) {
722                client.setTokenEndpointAuthSigningAlg(tokenEndpointAuthSigningAlg);
723        }
724
725        /**
726         * @return
727         * @see org.mitre.oauth2.model.ClientDetailsEntity#getCreatedAt()
728         */
729        public Date getCreatedAt() {
730                return client.getCreatedAt();
731        }
732        /**
733         * @param createdAt
734         * @see org.mitre.oauth2.model.ClientDetailsEntity#setCreatedAt(java.util.Date)
735         */
736        public void setCreatedAt(Date createdAt) {
737                client.setCreatedAt(createdAt);
738        }
739        /**
740         * @return the registrationAccessToken
741         */
742        public String getRegistrationAccessToken() {
743                return registrationAccessToken;
744        }
745        /**
746         * @param registrationAccessToken the registrationAccessToken to set
747         */
748        public void setRegistrationAccessToken(String registrationAccessToken) {
749                this.registrationAccessToken = registrationAccessToken;
750        }
751        /**
752         * @return the registrationClientUri
753         */
754        public String getRegistrationClientUri() {
755                return registrationClientUri;
756        }
757        /**
758         * @param registrationClientUri the registrationClientUri to set
759         */
760        public void setRegistrationClientUri(String registrationClientUri) {
761                this.registrationClientUri = registrationClientUri;
762        }
763        /**
764         * @return the clientSecretExpiresAt
765         */
766        public Date getClientSecretExpiresAt() {
767                return clientSecretExpiresAt;
768        }
769        /**
770         * @param clientSecretExpiresAt the clientSecretExpiresAt to set
771         */
772        public void setClientSecretExpiresAt(Date expiresAt) {
773                this.clientSecretExpiresAt = expiresAt;
774        }
775        /**
776         * @return the clientIdIssuedAt
777         */
778        public Date getClientIdIssuedAt() {
779                return clientIdIssuedAt;
780        }
781        /**
782         * @param clientIdIssuedAt the clientIdIssuedAt to set
783         */
784        public void setClientIdIssuedAt(Date issuedAt) {
785                this.clientIdIssuedAt = issuedAt;
786        }
787
788        /**
789         * @return
790         * @see org.mitre.oauth2.model.ClientDetailsEntity#getClaimsRedirectUris()
791         */
792        public Set<String> getClaimsRedirectUris() {
793                return client.getClaimsRedirectUris();
794        }
795
796        /**
797         * @param claimsRedirectUris
798         * @see org.mitre.oauth2.model.ClientDetailsEntity#setClaimsRedirectUris(java.util.Set)
799         */
800        public void setClaimsRedirectUris(Set<String> claimsRedirectUris) {
801                client.setClaimsRedirectUris(claimsRedirectUris);
802        }
803
804        /**
805         * @return
806         * @see org.mitre.oauth2.model.ClientDetailsEntity#getSoftwareStatement()
807         */
808        public JWT getSoftwareStatement() {
809                return client.getSoftwareStatement();
810        }
811
812        /**
813         * @param softwareStatement
814         * @see org.mitre.oauth2.model.ClientDetailsEntity#setSoftwareStatement(com.nimbusds.jwt.JWT)
815         */
816        public void setSoftwareStatement(JWT softwareStatement) {
817                client.setSoftwareStatement(softwareStatement);
818        }
819
820        /**
821         * @return
822         * @see org.mitre.oauth2.model.ClientDetailsEntity#getCodeChallengeMethod()
823         */
824        public PKCEAlgorithm getCodeChallengeMethod() {
825                return client.getCodeChallengeMethod();
826        }
827
828        /**
829         * @param codeChallengeMethod
830         * @see org.mitre.oauth2.model.ClientDetailsEntity#setCodeChallengeMethod(org.mitre.oauth2.model.PKCEAlgorithm)
831         */
832        public void setCodeChallengeMethod(PKCEAlgorithm codeChallengeMethod) {
833                client.setCodeChallengeMethod(codeChallengeMethod);
834        }
835
836        /**
837         * @return the src
838         */
839        public JsonObject getSource() {
840                return src;
841        }
842
843        /**
844         * @param src the src to set
845         */
846        public void setSource(JsonObject src) {
847                this.src = src;
848        }
849
850        /**
851         * @return
852         * @see org.mitre.oauth2.model.ClientDetailsEntity#getDeviceCodeValiditySeconds()
853         */
854        public Integer getDeviceCodeValiditySeconds() {
855                return client.getDeviceCodeValiditySeconds();
856        }
857
858        /**
859         * @param deviceCodeValiditySeconds
860         * @see org.mitre.oauth2.model.ClientDetailsEntity#setDeviceCodeValiditySeconds(java.lang.Integer)
861         */
862        public void setDeviceCodeValiditySeconds(Integer deviceCodeValiditySeconds) {
863                client.setDeviceCodeValiditySeconds(deviceCodeValiditySeconds);
864        }
865
866        /**
867         * @return
868         * @see org.mitre.oauth2.model.ClientDetailsEntity#getSoftwareId()
869         */
870        public String getSoftwareId() {
871                return client.getSoftwareId();
872        }
873
874        /**
875         * @param softwareId
876         * @see org.mitre.oauth2.model.ClientDetailsEntity#setSoftwareId(java.lang.String)
877         */
878        public void setSoftwareId(String softwareId) {
879                client.setSoftwareId(softwareId);
880        }
881
882        /**
883         * @return
884         * @see org.mitre.oauth2.model.ClientDetailsEntity#getSoftwareVersion()
885         */
886        public String getSoftwareVersion() {
887                return client.getSoftwareVersion();
888        }
889
890        /**
891         * @param softwareVersion
892         * @see org.mitre.oauth2.model.ClientDetailsEntity#setSoftwareVersion(java.lang.String)
893         */
894        public void setSoftwareVersion(String softwareVersion) {
895                client.setSoftwareVersion(softwareVersion);
896        }
897
898
899
900}