最近公司业务需要,要在cas上集成微信登录功能,所以先感谢下http://blog.csdn.net/u012410733/article/details/51729962,参考了很多,也改掉了里面的一些问题。
首先,微信不允许回调地址里有参数,所以改用微信的state来区分登录方式,并且写死了回调地址,可以不写死,懒得改了。。。
另外,由于要兼容原来的登录方式,所以在cas上添加了多个登录页面,同时,要求调用cas登录地址时带上一些参数,具体稍后会优化,可以参考GenerateLoginTicketAction这个类
public class GenerateLoginTicketAction {
/** 3.5.1 - Login tickets SHOULD begin with characters "LT-". */
private static final String PREFIX = "LT";
/** Logger instance. */
private final Logger logger = LoggerFactory.getLogger(getClass());
@NotNull
private UniqueTicketIdGenerator ticketIdGenerator;
public final String generate(final RequestContext context) {
final String loginTicket = this.ticketIdGenerator.getNewTicketId(PREFIX);
logger.debug("Generated login ticket {}", loginTicket