am.ik.categolj2.domain.service.token.Categolj2TokenEnhancer.java Source code

Java tutorial

Introduction

Here is the source code for am.ik.categolj2.domain.service.token.Categolj2TokenEnhancer.java

Source

/*
 * Copyright (C) 2014 Toshiaki Maki
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
 * either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */
package am.ik.categolj2.domain.service.token;

import am.ik.categolj2.domain.model.User;
import am.ik.categolj2.domain.service.userdetails.Categolj2UserDetails;
import org.springframework.security.oauth2.common.DefaultOAuth2AccessToken;
import org.springframework.security.oauth2.common.OAuth2AccessToken;
import org.springframework.security.oauth2.provider.OAuth2Authentication;
import org.springframework.security.oauth2.provider.token.TokenEnhancer;

import java.util.HashMap;
import java.util.Map;

public class Categolj2TokenEnhancer implements TokenEnhancer {

    @Override
    public OAuth2AccessToken enhance(OAuth2AccessToken accessToken, OAuth2Authentication authentication) {
        if (authentication == null || authentication.getPrincipal() == null) {
            return accessToken;
        }
        Categolj2UserDetails userDetails = (Categolj2UserDetails) authentication.getPrincipal();
        DefaultOAuth2AccessToken defaultOAuth2AccessToken = (DefaultOAuth2AccessToken) accessToken;
        Map<String, Object> additionalInformation = new HashMap<>();
        User user = userDetails.getUser();
        user.setPassword(null);
        additionalInformation.put("user", user);
        defaultOAuth2AccessToken.setAdditionalInformation(additionalInformation);
        return defaultOAuth2AccessToken;
    }
}