using JNPF.Extras.CollectiveOAuth.Models; namespace JNPF.Extras.CollectiveOAuth.Request; /** * JustAuth {@code Request}公共接口,所有平台的{@code Request}都需要实现该接口 *

* {@link AuthRequest#authorize()} * {@link AuthRequest#authorize(string)} * {@link AuthRequest#login(AuthCallback)} * {@link AuthRequest#revoke(AuthToken)} * {@link AuthRequest#refresh(AuthToken)} * * @author yadong.zhang (yadong.zhang0415(a)gmail.com) * @since 1.8. */ public interface IAuthRequest { ///

/// 返回授权url,可自行跳转页面. /// 不建议使用该方式获取授权地址,不带{@code state}的授权地址,容易受到csrf攻击. /// 建议使用{@link AuthDefaultRequest#authorize(string)}方法生成授权地址,在回调方法中对{@code state}进行校验. /// /// 返回授权地址. string authorize(); /// /// 返回带.state参数的授权url,授权回调时会带上这个.state. /// /// state 验证授权流程的参数,可以防止csrf. /// 返回授权地址. string authorize(string state); /// /// 第三方登录. /// /// 用于接收回调参数的实体. /// 返回登录成功后的用户信息. AuthResponse login(AuthCallback authCallback); /// /// 撤销授权. /// /// 登录成功后返回的Token信息. /// AuthResponse. AuthResponse revoke(AuthToken authToken); /// /// 刷新access token (续期). /// /// 登录成功后返回的Token信息. /// AuthResponse. AuthResponse refresh(AuthToken authToken); }