package com.dxhy.auth.service;

import java.util.List;

/**
 * @author jiaohongyang
 * @date 2019年3月26日 下午5:55:31
 *
 */
public interface AuthClientService {
    /**
     * 鉴权信息
     * 
     * @param clientId
     *            id
     * @param secret
     *            服务端信息
     * @return 返回信息
     * @throws Exception
     *             异常信息
     */
    String apply(String clientId, String secret) throws Exception;

    /**
     * 获取授权的客户端列表
     * 
     * @param serviceId
     *            serviceId
     * @param secret
     *            客户端标识
     * @return 返回信息
     */
    List<String> getAllowedClient(String serviceId, String secret);

    /**
     * 获取服务授权的客户端列表
     * 
     * @param serviceId
     *            serviceId
     * @return 返回信息
     */
    List<String> getAllowedClient(String serviceId);

    /**
     * 自动注册
     */
    void registryClient();

    /**
     * 鉴权信息
     * 
     * @param clientId
     *            id
     * @param secret
     *            客户端标识
     * @throws Exception
     *             异常
     */
    void validate(String clientId, String secret) throws Exception;
}
