@Override
    @Audit(action = AuditableActions.OAUTH2_AUTHORIZATION_RESPONSE,
        actionResolverName = AuditActionResolvers.OAUTH2_AUTHORIZATION_RESPONSE_ACTION_RESOLVER,
        resourceResolverName = AuditResourceResolvers.OAUTH2_AUTHORIZATION_RESPONSE_RESOURCE_RESOLVER)
    public ModelAndView build(final AccessTokenRequestContext holder) throws Throwable {
        val accessTokenResult = configurationContext.getAccessTokenGenerator().generate(holder);
        val accessTokenTimeout = determineAccessTokenTimeoutInSeconds(accessTokenResult);
        val result = OAuth20AccessTokenResponseResult.builder()
            .registeredService(holder.getRegisteredService())
            .service(holder.getService())
            .accessTokenTimeout(accessTokenTimeout)
            .responseType(holder.getResponseType())
            .grantType(holder.getGrantType())
            .casProperties(configurationContext.getCasProperties())
            .generatedToken(accessTokenResult)
            .userProfile(holder.getUserProfile())
            .build();
        configurationContext.getAccessTokenResponseGenerator().generate(result);
        return new ModelAndView();
    }
This is {@link OAuth20ResourceOwnerCredentialsResponseBuilder}.

@author Misagh Moayyed
@since 5.2.0
support/cas-server-support-oauth-core-api/src/main/java/org/apereo/cas/support/oauth/web/response/callback/OAuth20ResourceOwnerCredentialsResponseBuilder.java