@Override
    public AccessTokenRequestContext extract(final WebContext webContext) throws Throwable {
        val tokenRequestContext = extractRequest(webContext);
        extractUserProfile(webContext).ifPresent(profile -> {
            if (profile.containsAttribute(OAuth20Constants.DPOP_CONFIRMATION)) {
                tokenRequestContext.setDpopConfirmation(profile.getAttribute(OAuth20Constants.DPOP_CONFIRMATION).toString());
            }
            if (profile.containsAttribute(OAuth20Constants.DPOP)) {
                tokenRequestContext.setDpop(profile.getAttribute(OAuth20Constants.DPOP).toString());
            }
            tokenRequestContext.setUserProfile(profile);
        });
        return tokenRequestContext;
    }
This is {@link BaseAccessTokenGrantRequestExtractor}.

@author Misagh Moayyed
@since 5.1.0
support/cas-server-support-oauth-core-api/src/main/java/org/apereo/cas/support/oauth/web/response/accesstoken/ext/BaseAccessTokenGrantRequestExtractor.java