forked from justauth/JustAuth
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
571466f
commit 7a9d602
Showing
1 changed file
with
84 additions
and
0 deletions.
There are no files selected for viewing
84 changes: 84 additions & 0 deletions
84
src/test/java/me/zhyd/oauth/request/AuthFeiShuRequestTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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([email protected]) | ||
* @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)); | ||
} | ||
|
||
} | ||
|