diff --git a/src/test/java/me/zhyd/oauth/request/AuthFeiShuRequestTest.java b/src/test/java/me/zhyd/oauth/request/AuthFeiShuRequestTest.java new file mode 100644 index 0000000000000000000000000000000000000000..f6e653b81f2cd305b594e7f7b3dc64340cdf4960 --- /dev/null +++ b/src/test/java/me/zhyd/oauth/request/AuthFeiShuRequestTest.java @@ -0,0 +1,84 @@ +package me.zhyd.oauth.request; + +import com.alibaba.fastjson.JSON; +import me.zhyd.oauth.config.AuthConfig; +import me.zhyd.oauth.model.AuthCallback; +import me.zhyd.oauth.model.AuthResponse; +import me.zhyd.oauth.model.AuthToken; +import me.zhyd.oauth.model.AuthUser; +import me.zhyd.oauth.utils.AuthStateUtils; +import org.junit.Assert; +import org.junit.Test; + +/** + * @ClassName AuthFeiShuRequestTest + * @Author jackcheng(chen781142032@gamil.com) + * @version 1.0 + * @since 1.16.5 + * @Date 2022/10/1 11:23 + * @Description 飞书第三方登录测试类 先执行authorize()方法获取state以及authorizeUrl, + * 然后在浏览器中打开authorizeUrl,登录成功后会跳转到redirectUri,并且会携带code和state参数 + **/ +public class AuthFeiShuRequestTest { + + @Test + public void authorize() { + AuthRequest request = new AuthFeishuRequest(AuthConfig.builder() + .clientId("your App ID") + .clientSecret("your App Secret") + .redirectUri("you set redirect uri") + .build()); + String state = AuthStateUtils.createState(); + System.out.println("state==" + state); + String authorize = request.authorize(state); + System.out.println("authorize==" + authorize); + Assert.assertNotNull(authorize); + } + + @Test + public void getAccessTokenAndUserInfo() { + AuthRequest request = new AuthFeishuRequest(AuthConfig.builder() + .clientId("your App ID") + .clientSecret("your App Secret") + .redirectUri("you set redirect uri") + .build()); + + String state = "your state"; + + AuthCallback callback = AuthCallback.builder() + .code("your code") + .state(state) + .build(); + AuthToken accessToken = ((AuthFeishuRequest) request).getAccessToken(callback); + Assert.assertNotNull(accessToken); + System.out.println("token==" + accessToken.getAccessToken()); + + AuthUser userInfo = ((AuthFeishuRequest) request).getUserInfo(accessToken); + Assert.assertNotNull(userInfo); + System.out.println("userInfo==" + JSON.toJSONString(userInfo)); + + } + + @Test + public void login() { + AuthRequest request = new AuthFeishuRequest(AuthConfig.builder() + .clientId("your App ID") + .clientSecret("your App Secret") + .redirectUri("you set redirect uri") + .build()); + + String state = "your state"; + request.authorize(state); + AuthCallback callback = AuthCallback.builder() + .code("your code") + .state(state) + .build(); + AuthResponse response = request.login(callback); + Assert.assertNotNull(response); + AuthUser user = (AuthUser) response.getData(); + Assert.assertNotNull(user); + System.out.println(JSON.toJSONString(user)); + } + +} +