当前位置: 首页>>代码示例>>Java>>正文


Java AuthorizationRequest.getScope方法代码示例

本文整理汇总了Java中org.springframework.security.oauth2.provider.AuthorizationRequest.getScope方法的典型用法代码示例。如果您正苦于以下问题:Java AuthorizationRequest.getScope方法的具体用法?Java AuthorizationRequest.getScope怎么用?Java AuthorizationRequest.getScope使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.springframework.security.oauth2.provider.AuthorizationRequest的用法示例。


在下文中一共展示了AuthorizationRequest.getScope方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getAccessConfirmation

import org.springframework.security.oauth2.provider.AuthorizationRequest; //导入方法依赖的package包/类
@RequestMapping("/oauth/confirm_access")
public ModelAndView getAccessConfirmation(Map<String, Object> model, Principal principal) throws Exception {
	AuthorizationRequest clientAuth = (AuthorizationRequest) model.remove("authorizationRequest");
	ClientDetails client = clientDetailsService.loadClientByClientId(clientAuth.getClientId());
	model.put("auth_request", clientAuth);
	model.put("client", client);
	Map<String, String> scopes = new LinkedHashMap<String, String>();
	for (String scope : clientAuth.getScope()) {
		scopes.put(OAuth2Utils.SCOPE_PREFIX + scope, "false");
	}
	for (Approval approval : approvalStore.getApprovals(principal.getName(), client.getClientId())) {
		if (clientAuth.getScope().contains(approval.getScope())) {
			scopes.put(OAuth2Utils.SCOPE_PREFIX + approval.getScope(),
					approval.getStatus() == ApprovalStatus.APPROVED ? "true" : "false");
		}
	}
	model.put("scopes", scopes);
	return new ModelAndView("authorize", model);
}
 
开发者ID:venus-boot,项目名称:saluki,代码行数:20,代码来源:AccessConfirmationController.java

示例2: getAccessConfirmation

import org.springframework.security.oauth2.provider.AuthorizationRequest; //导入方法依赖的package包/类
@RequestMapping("/oauth/confirm_access")
public ModelAndView getAccessConfirmation(Map<String, Object> model, Principal principal) throws Exception {
    AuthorizationRequest clientAuth = (AuthorizationRequest) model.remove("authorizationRequest");
    ClientDetails client = clientDetailsService.loadClientByClientId(clientAuth.getClientId());
    model.put("auth_request", clientAuth);
    model.put("client", client);
    Map<String, String> scopes = new LinkedHashMap<String, String>();
    for (String scope : clientAuth.getScope()) {
        scopes.put(OAuth2Utils.SCOPE_PREFIX + scope, "false");
    }
    for (Approval approval : approvalStore.getApprovals(principal.getName(), client.getClientId())) {
        if (clientAuth.getScope().contains(approval.getScope())) {
            scopes.put(OAuth2Utils.SCOPE_PREFIX + approval.getScope(),
                    approval.getStatus() == Approval.ApprovalStatus.APPROVED ? "true" : "false");
        }
    }
    model.put("scopes", scopes);
    return new ModelAndView("access_confirmation", model); // 订阅 appproval 页面
}
 
开发者ID:h819,项目名称:spring-boot,代码行数:20,代码来源:AccessConfirmationController.java

示例3: getAccessConfirmation

import org.springframework.security.oauth2.provider.AuthorizationRequest; //导入方法依赖的package包/类
@RequestMapping("/oauth/confirm_access")
public ModelAndView getAccessConfirmation(Map<String, Object> model, Principal principal) throws Exception {
	AuthorizationRequest clientAuth = (AuthorizationRequest) model.remove("authorizationRequest");
	ClientDetails client = clientDetailsService.loadClientByClientId(clientAuth.getClientId());
	model.put("auth_request", clientAuth);
	model.put("client", client);
	Map<String, String> scopes = new LinkedHashMap<String, String>();
	for (String scope : clientAuth.getScope()) {
		scopes.put(OAuth2Utils.SCOPE_PREFIX + scope, "false");
	}
	for (Approval approval : approvalStore.getApprovals(principal.getName(), client.getClientId())) {
		if (clientAuth.getScope().contains(approval.getScope())) {
			scopes.put(OAuth2Utils.SCOPE_PREFIX + approval.getScope(),
					approval.getStatus() == ApprovalStatus.APPROVED ? "true" : "false");
		}
	}
	model.put("scopes", scopes);
	return new ModelAndView("access_confirmation", model);
}
 
开发者ID:jungyang,项目名称:oauth-client-master,代码行数:20,代码来源:AccessConfirmationController.java

示例4: checkForPreApproval

import org.springframework.security.oauth2.provider.AuthorizationRequest; //导入方法依赖的package包/类
/**
 * Allows automatic approval for a white list of clients in the implicit grant case.
 *
 * @param authorizationRequest The authorization request.
 * @param userAuthentication the current user authentication
 *
 * @return An updated request if it has already been approved by the current user.
 */
@Override
public AuthorizationRequest checkForPreApproval(AuthorizationRequest authorizationRequest,
                                                Authentication userAuthentication) {

    boolean approved = false;
    // If we are allowed to check existing approvals this will short circuit the decision
    if (useApprovalStore) {
        authorizationRequest = super.checkForPreApproval(authorizationRequest, userAuthentication);
        approved = authorizationRequest.isApproved();
    }
    else {
        if (clientDetailsService != null) {
            Collection<String> requestedScopes = authorizationRequest.getScope();
            try {
                ClientDetails client = clientDetailsService
                        .loadClientByClientId(authorizationRequest.getClientId());
                for (String scope : requestedScopes) {
                    if (client.isAutoApprove(scope) || client.isAutoApprove("all")) {
                        approved = true;
                        break;
                    }
                }
            }
            catch (ClientRegistrationException e) {
            }
        }
    }
    authorizationRequest.setApproved(approved);

    return authorizationRequest;

}
 
开发者ID:imCodePartnerAB,项目名称:iVIS,代码行数:41,代码来源:IvisUserApprovalHandler.java

示例5: updateAfterApproval

import org.springframework.security.oauth2.provider.AuthorizationRequest; //导入方法依赖的package包/类
/**
 * Requires the authorization request to be explicitly approved, including all individual scopes, and the user to be
 * authenticated. A scope that was requested in the authorization request can be approved by sending a request
 * parameter <code>scope.&lt;scopename&gt;</code> equal to "true" or "approved" (otherwise it will be assumed to
 * have been denied). The {@link ApprovalStore} will be updated to reflect the inputs.
 * 
 * @param authorizationRequest The authorization request.
 * @param userAuthentication the current user authentication
 * 
 * @return An approved request if all scopes have been approved by the current user.
 */
public AuthorizationRequest updateAfterApproval(AuthorizationRequest authorizationRequest,
		Authentication userAuthentication) {
	// Get the approved scopes
	Set<String> requestedScopes = authorizationRequest.getScope();
	Set<String> approvedScopes = new HashSet<String>();
	Set<Approval> approvals = new HashSet<Approval>();

	Date expiry = computeExpiry();

	// Store the scopes that have been approved / denied
	Map<String, String> approvalParameters = authorizationRequest.getApprovalParameters();
	for (String requestedScope : requestedScopes) {
		String approvalParameter = scopePrefix + requestedScope;
		String value = approvalParameters.get(approvalParameter);
		value = value == null ? "" : value.toLowerCase();
		if ("true".equals(value) || value.startsWith("approve")) {
			approvedScopes.add(requestedScope);
			approvals.add(new Approval(userAuthentication.getName(), authorizationRequest.getClientId(),
					requestedScope, expiry, ApprovalStatus.APPROVED));
		}
		else {
			approvals.add(new Approval(userAuthentication.getName(), authorizationRequest.getClientId(),
					requestedScope, expiry, ApprovalStatus.DENIED));
		}
	}
	approvalStore.addApprovals(approvals);

	boolean approved;
	authorizationRequest.setScope(approvedScopes);
	if (approvedScopes.isEmpty() && !requestedScopes.isEmpty()) {
		approved = false;
	}
	else {
		approved = true;
	}
	authorizationRequest.setApproved(approved);
	return authorizationRequest;
}
 
开发者ID:jungyang,项目名称:oauth-client-master,代码行数:50,代码来源:ApprovalStoreUserApprovalHandler.java

示例6: checkForPreApproval

import org.springframework.security.oauth2.provider.AuthorizationRequest; //导入方法依赖的package包/类
/**
 * Allows automatic approval for a white list of clients in the implicit grant case.
 * 
 * @param authorizationRequest The authorization request.
 * @param userAuthentication the current user authentication
 * 
 * @return An updated request if it has already been approved by the current user.
 */
@Override
public AuthorizationRequest checkForPreApproval(AuthorizationRequest authorizationRequest,
		Authentication userAuthentication) {

	boolean approved = false;
	// If we are allowed to check existing approvals this will short circuit the decision
	if (useApprovalStore) {
		authorizationRequest = super.checkForPreApproval(authorizationRequest, userAuthentication);
		approved = authorizationRequest.isApproved();
	}
	else {
		if (clientDetailsService != null) {
			Collection<String> requestedScopes = authorizationRequest.getScope();
			try {
				ClientDetails client = clientDetailsService
						.loadClientByClientId(authorizationRequest.getClientId());
				for (String scope : requestedScopes) {
					if (client.isAutoApprove(scope) || client.isAutoApprove("all")) {
						approved = true;
						break;
					}
				}
			}
			catch (ClientRegistrationException e) {
			}
		}
	}
	authorizationRequest.setApproved(approved);

	return authorizationRequest;

}
 
开发者ID:jungyang,项目名称:oauth-client-master,代码行数:41,代码来源:SparklrUserApprovalHandler.java

示例7: checkForPreApproval

import org.springframework.security.oauth2.provider.AuthorizationRequest; //导入方法依赖的package包/类
public AuthorizationRequest checkForPreApproval(AuthorizationRequest authorizationRequest,
		Authentication userAuthentication) {

	String clientId = authorizationRequest.getClientId();
	Collection<String> requestedScopes = authorizationRequest.getScope();
	Set<String> approvedScopes = new HashSet<String>();
	Set<String> validUserApprovedScopes = new HashSet<String>();

	if (clientDetailsService != null) {
		try {
			ClientDetails client = clientDetailsService.loadClientByClientId(clientId);
			for (String scope : requestedScopes) {
				if (client.isAutoApprove(scope) || client.isAutoApprove("all")) {
					approvedScopes.add(scope);
				}
			}
			if (approvedScopes.containsAll(requestedScopes)) {
				authorizationRequest.setApproved(true);
				return authorizationRequest;
			}
		}
		catch (ClientRegistrationException e) {
			logger.warn("Client registration problem prevent autoapproval check for client=" + clientId);
		}
	}

	if (logger.isDebugEnabled()) {
		StringBuilder builder = new StringBuilder("Looking up user approved authorizations for ");
		builder.append("client_id=" + clientId);
		builder.append(" and username=" + userAuthentication.getName());
		logger.debug(builder.toString());
	}

	// Find the stored approvals for that user and client
	Collection<Approval> userApprovals = approvalStore.getApprovals(userAuthentication.getName(),
			clientId);

	// Look at the scopes and see if they have expired
	Date today = new Date();
	for (Approval approval : userApprovals) {
		if (approval.getExpiresAt().after(today)) {
			validUserApprovedScopes.add(approval.getScope());
			if (approval.getStatus() == ApprovalStatus.APPROVED) {
				approvedScopes.add(approval.getScope());
			}
		}
	}

	if (logger.isDebugEnabled()) {
		logger.debug("Valid user approved/denied scopes are " + validUserApprovedScopes);
	}

	// If the requested scopes have already been acted upon by the user,
	// this request is approved
	if (validUserApprovedScopes.containsAll(requestedScopes)) {
		approvedScopes.retainAll(requestedScopes);
		// Set only the scopes that have been approved by the user
		authorizationRequest.setScope(approvedScopes);
		authorizationRequest.setApproved(true);
	}

	return authorizationRequest;

}
 
开发者ID:jungyang,项目名称:oauth-client-master,代码行数:65,代码来源:ApprovalStoreUserApprovalHandler.java

示例8: checkForPreApproval

import org.springframework.security.oauth2.provider.AuthorizationRequest; //导入方法依赖的package包/类
public AuthorizationRequest checkForPreApproval(AuthorizationRequest authorizationRequest, Authentication userAuthentication) {
	
	boolean approved = false;
	
	String clientId = authorizationRequest.getClientId();
	Set<String> scopes = authorizationRequest.getScope();
	if (clientDetailsService!=null) {
		try {
			ClientDetails client = clientDetailsService.loadClientByClientId(clientId);
			approved = true;
			for (String scope : scopes) {
				if (!client.isAutoApprove(scope)) {
					approved = false;
				}
			}
			if (approved) {
				authorizationRequest.setApproved(true);
				return authorizationRequest;
			}
		}
		catch (ClientRegistrationException e) {
			logger.warn("Client registration problem prevent autoapproval check for client=" + clientId);
		}		
	}
	
	OAuth2Request storedOAuth2Request = requestFactory.createOAuth2Request(authorizationRequest);
	
	OAuth2Authentication authentication = new OAuth2Authentication(storedOAuth2Request, userAuthentication);
	if (logger.isDebugEnabled()) {
		StringBuilder builder = new StringBuilder("Looking up existing token for ");
		builder.append("client_id=" + clientId);
		builder.append(", scope=" + scopes);
		builder.append(" and username=" + userAuthentication.getName());
		logger.debug(builder.toString());
	}

	OAuth2AccessToken accessToken = tokenStore.getAccessToken(authentication);
	logger.debug("Existing access token=" + accessToken);
	if (accessToken != null && !accessToken.isExpired()) {
		logger.debug("User already approved with token=" + accessToken);
		// A token was already granted and is still valid, so this is already approved
		approved = true;
	}
	else {
		logger.debug("Checking explicit approval");
		approved = userAuthentication.isAuthenticated() && approved;
	}
	
	authorizationRequest.setApproved(approved);

	return authorizationRequest;
}
 
开发者ID:jungyang,项目名称:oauth-client-master,代码行数:53,代码来源:TokenStoreUserApprovalHandler.java


注:本文中的org.springframework.security.oauth2.provider.AuthorizationRequest.getScope方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。