mirror of
https://gitee.com/yadong.zhang/JustAuth.git
synced 2026-01-07 19:31:48 +08:00
🎨 完成 linkedin 的自定义 scope
This commit is contained in:
parent
d787ba7346
commit
36d4f89595
@ -0,0 +1,62 @@
|
||||
package me.zhyd.oauth.enums.scope;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 领英平台 OAuth 授权范围
|
||||
*
|
||||
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
|
||||
* @version 1.0.0
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum AuthLinkedinScope implements AuthScope {
|
||||
|
||||
/**
|
||||
* {@code scope} 含义,以{@code description} 为准
|
||||
*/
|
||||
R_LITEPROFILE("r_liteprofile", "Use your name, headline, and photo", true),
|
||||
R_EMAILADDRESS("r_emailaddress", "Use the primary email address associated with your LinkedIn account", true),
|
||||
W_MEMBER_SOCIAL("w_member_social", "Post, comment and like posts on your behalf", true),
|
||||
R_MEMBER_SOCIAL("r_member_social", "Retrieve your posts, comments, likes, and other engagement data", false),
|
||||
R_AD_CAMPAIGNS("r_ad_campaigns", "View advertising campaigns you manage", false),
|
||||
R_ADS("r_ads", "Retrieve your advertising accounts", false),
|
||||
R_ADS_LEADGEN_AUTOMATION("r_ads_leadgen_automation", "Access your Lead Gen Forms and retrieve leads", false),
|
||||
R_ADS_REPORTING("r_ads_reporting", "Retrieve reporting for your advertising accounts", false),
|
||||
R_BASICPROFILE("r_basicprofile", "Use your basic profile including your name, photo, headline, and current positions", false),
|
||||
R_ORGANIZATION_SOCIAL("r_organization_social", "Retrieve your organizations' posts, including any comments, likes and other engagement data", false),
|
||||
RW_AD_CAMPAIGNS("rw_ad_campaigns", "Manage your advertising campaigns", false),
|
||||
RW_ADS("rw_ads", "Manage your advertising accounts", false),
|
||||
RW_COMPANY_ADMIN("rw_company_admin", "For V1 callsManage your organization's page and post updates", false),
|
||||
RW_DMP_SEGMENTS("rw_dmp_segments", "Create and manage your matched audiences", false),
|
||||
RW_ORGANIZATION_ADMIN("rw_organization_admin", "Manage your organizations' pages and retrieve reporting data", false),
|
||||
RW_ORGANIZATION("rw_organization", "For V2 callsManage your organization's page and post updates", false),
|
||||
W_ORGANIZATION_SOCIAL("w_organization_social", "Post, comment and like posts on your organization's behalf", false),
|
||||
W_SHARE("w_share", "Post updates to LinkedIn as you", false);
|
||||
|
||||
private String scope;
|
||||
private String description;
|
||||
private boolean isDefault;
|
||||
|
||||
public static List<AuthScope> getDefaultScopes() {
|
||||
AuthLinkedinScope[] scopes = AuthLinkedinScope.values();
|
||||
List<AuthScope> defaultScopes = new ArrayList<>();
|
||||
for (AuthLinkedinScope scope : scopes) {
|
||||
if (scope.isDefault()) {
|
||||
defaultScopes.add(scope);
|
||||
}
|
||||
}
|
||||
return defaultScopes;
|
||||
}
|
||||
|
||||
public static List<String> listScope() {
|
||||
return Arrays.stream(AuthLinkedinScope.values()).map(AuthLinkedinScope::getScope).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
@ -8,15 +8,13 @@ import com.xkcoding.http.support.HttpHeader;
|
||||
import me.zhyd.oauth.cache.AuthStateCache;
|
||||
import me.zhyd.oauth.config.AuthConfig;
|
||||
import me.zhyd.oauth.config.AuthDefaultSource;
|
||||
import me.zhyd.oauth.enums.AuthResponseStatus;
|
||||
import me.zhyd.oauth.enums.AuthUserGender;
|
||||
import me.zhyd.oauth.enums.scope.AuthLinkedinScope;
|
||||
import me.zhyd.oauth.exception.AuthException;
|
||||
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.HttpUtils;
|
||||
import me.zhyd.oauth.utils.StringUtils;
|
||||
import me.zhyd.oauth.utils.UrlBuilder;
|
||||
|
||||
|
||||
@ -204,7 +202,7 @@ public class AuthLinkedinRequest extends AuthDefaultRequest {
|
||||
.queryParam("response_type", "code")
|
||||
.queryParam("client_id", config.getClientId())
|
||||
.queryParam("redirect_uri", config.getRedirectUri())
|
||||
.queryParam("scope", "r_liteprofile%20r_emailaddress%20w_member_social")
|
||||
.queryParam("scope", this.getScopes(" ", false, AuthLinkedinScope.getDefaultScopes()))
|
||||
.queryParam("state", getRealState(state))
|
||||
.build();
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user