/**
* Copyright 2010 Newcastle University
*
* http://research.ncl.ac.uk/smart/
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.oltu.oauth2.rs;
import static org.easymock.EasyMock.*;
import static org.junit.Assert.fail;
import javax.servlet.http.HttpServletRequest;
import org.apache.oltu.oauth2.common.OAuth;
import org.apache.oltu.oauth2.common.error.OAuthError;
import org.apache.oltu.oauth2.common.exception.OAuthProblemException;
import org.apache.oltu.oauth2.common.message.types.ParameterStyle;
import org.apache.oltu.oauth2.rs.request.OAuthAccessResourceRequest;
import org.junit.Assert;
import org.junit.Test;
/**
*
*
*/
public class OAuthAccessResourceRequestTest {
public static final String AUTHORIZATION_HEADER_OAUTH2 = "Bearer sometoken";
@Test
public void testCreateNoHeaderRequest() throws Exception {
HttpServletRequest request = createMock(HttpServletRequest.class);
expect(request.getMethod()).andStubReturn(OAuth.HttpMethod.POST);
expect(request.getContentType()).andStubReturn(OAuth.ContentType.JSON);
expect(request.getHeader(OAuth.HeaderType.AUTHORIZATION)).andStubReturn(null);
replay(request);
OAuthAccessResourceRequest req = null;
try {
new OAuthAccessResourceRequest(request);
fail("Exception expected");
} catch (OAuthProblemException e) {
Assert.assertEquals("Missing authorization header.", e.getDescription());
}
verify(request);
}
@Test
public void testCreateWrongHeaderRequest() throws Exception {
HttpServletRequest request = createMock(HttpServletRequest.class);
expect(request.getMethod()).andStubReturn(OAuth.HttpMethod.POST);
expect(request.getContentType()).andStubReturn(OAuth.ContentType.JSON);
expect(request.getHeader(OAuth.HeaderType.AUTHORIZATION)).andStubReturn("Basic assdafasfd");
replay(request);
try {
new OAuthAccessResourceRequest(request);
fail("Exception expected");
} catch (OAuthProblemException e) {
Assert.assertEquals("Incorrect authorization method.", e.getDescription());
}
verify(request);
}
@Test
public void testCreateHeaderMissingFieldRequest() throws Exception {
HttpServletRequest request = createMock(HttpServletRequest.class);
expect(request.getMethod()).andStubReturn(OAuth.HttpMethod.POST);
expect(request.getContentType()).andStubReturn(OAuth.ContentType.JSON);
expect(request.getHeader(OAuth.HeaderType.AUTHORIZATION)).andStubReturn("Bearer ");
replay(request);
try {
new OAuthAccessResourceRequest(request);
fail("Exception expected");
} catch (OAuthProblemException e) {
Assert.assertTrue(OAuthError.TokenResponse.INVALID_REQUEST.equals(e.getError()));
}
verify(request);
}
@Test
public void testCreateHeaderWrongVersionRequest() throws Exception {
HttpServletRequest request = createMock(HttpServletRequest.class);
expect(request.getMethod()).andStubReturn(OAuth.HttpMethod.POST);
expect(request.getContentType()).andStubReturn(OAuth.ContentType.JSON);
expect(request.getHeader(OAuth.HeaderType.AUTHORIZATION))
.andStubReturn("Bearer sadfasfd,oauth_signature_method=\"HMAC-SHA1\"");
replay(request);
try {
new OAuthAccessResourceRequest(request);
fail("Exception expected");
} catch (OAuthProblemException e) {
Assert.assertTrue(OAuthError.TokenResponse.INVALID_REQUEST.equals(e.getError()));
}
verify(request);
}
@Test
public void testCreateValidHeaderRequest() throws Exception {
HttpServletRequest request = createMock(HttpServletRequest.class);
expect(request.getMethod()).andStubReturn(OAuth.HttpMethod.POST);
expect(request.getContentType()).andStubReturn(OAuth.ContentType.JSON);
expect(request.getHeader(OAuth.HeaderType.AUTHORIZATION)).andStubReturn("Bearer token");
replay(request);
try {
new OAuthAccessResourceRequest(request);
} catch (OAuthProblemException e) {
fail("Exception not expected");
}
verify(request);
}
@Test
public void testCreateBodyWrongMethod() throws Exception {
HttpServletRequest request = createMock(HttpServletRequest.class);
expect(request.getMethod()).andStubReturn(OAuth.HttpMethod.GET);
expect(request.getContentType()).andStubReturn(OAuth.ContentType.URL_ENCODED);
expect(request.getParameterValues(OAuth.OAUTH_BEARER_TOKEN)).andStubReturn(new String[] {"sometoken"});
expect(request.getParameter(OAuth.OAUTH_VERSION_DIFFER)).andStubReturn(null);
replay(request);
try {
new OAuthAccessResourceRequest(request, ParameterStyle.BODY);
fail("Exception expeted");
} catch (OAuthProblemException e) {
Assert.assertTrue(OAuthError.TokenResponse.INVALID_REQUEST.equals(e.getError()));
}
verify(request);
}
@Test
public void testCreateBodyInvalidEncoding() throws Exception {
HttpServletRequest request = createMock(HttpServletRequest.class);
expect(request.getMethod()).andStubReturn(OAuth.HttpMethod.POST);
expect(request.getContentType()).andStubReturn(OAuth.ContentType.JSON);
expect(request.getParameterValues(OAuth.OAUTH_BEARER_TOKEN)).andStubReturn(new String[] {"sometoken"});
expect(request.getParameter(OAuth.OAUTH_VERSION_DIFFER)).andStubReturn(null);
replay(request);
try {
new OAuthAccessResourceRequest(request, ParameterStyle.BODY);
fail("Exception expeted");
} catch (OAuthProblemException e) {
Assert.assertTrue(OAuthError.TokenResponse.INVALID_REQUEST.equals(e.getError()));
}
verify(request);
}
@Test
public void testCreateBodyWrongOAuthVersion() throws Exception {
HttpServletRequest request = createMock(HttpServletRequest.class);
expect(request.getMethod()).andStubReturn(OAuth.HttpMethod.POST);
expect(request.getContentType()).andStubReturn(OAuth.ContentType.URL_ENCODED);
expect(request.getParameterValues(OAuth.OAUTH_BEARER_TOKEN)).andStubReturn(new String[] {"sometoken"});
expect(request.getParameter(OAuth.OAUTH_VERSION_DIFFER)).andStubReturn("HMAC-SHA1");
replay(request);
try {
new OAuthAccessResourceRequest(request, ParameterStyle.BODY);
fail("Exception expeted");
} catch (OAuthProblemException e) {
Assert.assertTrue(OAuthError.TokenResponse.INVALID_REQUEST.equals(e.getError()));
Assert.assertEquals("Incorrect OAuth version. Found OAuth V1.0.", e.getDescription());
}
}
@Test
public void testCreateBodyHeaderMixedTokens() throws Exception {
HttpServletRequest request = createMock(HttpServletRequest.class);
expect(request.getMethod()).andStubReturn(OAuth.HttpMethod.POST);
expect(request.getConten
没有合适的资源?快使用搜索试试~ 我知道了~
java实现oauth2.0服务端+客户端(含JWT)
共221个文件
java:176个
xml:22个
notice-with-deps:7个
1星 需积分: 47 94 下载量 176 浏览量
2017-12-15
16:03:57
上传
评论 2
收藏 355KB ZIP 举报
温馨提示
基于MAVEN+OLTU开源代码实现javaOauth2.0前后端,数据加密使用MD5。
资源推荐
资源详情
资源评论
收起资源包目录
java实现oauth2.0服务端+客户端(含JWT) (221个子文件)
DEPENDENCIES 462B
OAuthAccessResourceRequestTest.java 23KB
OAuthRequestTest.java 21KB
OAuthUtils.java 18KB
ResourceTest.java 14KB
OAuthUtilsTest.java 13KB
OAuthUnauthenticatedRequestTest.java 13KB
JWT.java 11KB
OAuthAuthorizationResponseImplTest.java 11KB
OAuthClientRequest.java 8KB
BodyOAuthValidatorTest.java 7KB
OAuthASResponseTest.java 7KB
OAuthResponse.java 7KB
JSONHttpServletRequestWrapper.java 7KB
OAuthFilter.java 6KB
AccessTokenTestAuthCodeTest.java 6KB
TokenEndpoint.java 6KB
JWTWriterTestCase.java 6KB
ResourceBodyEndpoint.java 6KB
AbstractValidator.java 6KB
OAuthAccessResourceRequest.java 6KB
Common.java 6KB
UnauthenticatedTokenEndpoint.java 6KB
OAuthError.java 6KB
OAuthJSONAccessTokenResponseTest.java 6KB
HttpClient4.java 6KB
UnauthenticatedAccessTokenTestAuthCodeTest.java 6KB
ClaimsSet.java 6KB
BasicClientInfo.java 5KB
URLConnectionClient.java 5KB
EndUserAuthorizationTest.java 5KB
OAuthASResponse.java 5KB
ResourceHeaderEndpoint.java 5KB
ResourceQueryEndpoint.java 5KB
HeaderOAuthValidatorTest.java 5KB
OAuthClientResponse.java 4KB
OAuthProblemException.java 4KB
OAuthServerRegistrationRequestTest.java 4KB
JSONUtils.java 4KB
OAuthClientValidator.java 4KB
OAuthRequest.java 4KB
AuthzEndpoint.java 4KB
AccessTokenPasswordCredentialsTest.java 4KB
QueryOAuthValidatorTest.java 4KB
OauthMockRequestBuilder.java 4KB
OAuthClientTest.java 4KB
OAuthResourceResponseTest.java 4KB
OAuthAuthzResponse.java 4KB
ResourceServer.java 4KB
OAuth.java 3KB
IOTestCaseConstants.java 3KB
BasicCredentials.java 3KB
BearerBodyOAuthValidator.java 3KB
PushPullValidator.java 3KB
OAuthClientResponseFactory.java 3KB
OAuthProviderType.java 3KB
TokenValidatorTest.java 3KB
OAuthResourceResponse.java 3KB
ClientRegistrationTest.java 3KB
OAuthClient.java 3KB
RegistrationEndpoint.java 3KB
JWTClaimsSetParser.java 3KB
OAuthClientRegistrationRequest.java 3KB
JWTReaderTestCase.java 3KB
OAuthClientRegistrationResponse.java 3KB
OAuthServerRegistrationRequest.java 3KB
RegistrationValidator.java 3KB
BearerHeaderOAuthValidator.java 3KB
OAuthTokenRequest.java 3KB
OAuthServerRegistrationResponse.java 3KB
JSONBodyParametersApplierTest.java 3KB
OAuthUtils.java 3KB
OAuthUnauthenticatedTokenRequest.java 3KB
OAuthJSONAccessTokenResponse.java 3KB
BearerQueryOAuthValidator.java 3KB
OAuthAuthzRequest.java 3KB
BodyURLEncodedParametersApplierTest.java 3KB
AbstractValidatorTest.java 3KB
BasicClientInfoBuilderTest.java 3KB
QueryParameterApplierTest.java 3KB
FragmentParametersApplierTest.java 3KB
JSONUtilsTest.java 2KB
Header.java 2KB
BasicClientInfoBuilder.java 2KB
AbstractOAuthTokenRequest.java 2KB
WWWAuthHeaderParametersApplierTest.java 2KB
BasicOAuthToken.java 2KB
GitHubTokenResponse.java 2KB
HttpClient4Test.java 2KB
TestUtils.java 2KB
MD5Generator.java 2KB
JWTOAuthRequest.java 2KB
BodyTokenExtractorTest.java 2KB
AbstractValidatorImpl.java 2KB
OAuthRegistrationClient.java 2KB
ResourceServlet.java 2KB
OAuthAccessTokenResponse.java 2KB
HeaderTokenExtractorTest.java 2KB
FragmentParametersApplier.java 2KB
JWTConstants.java 2KB
共 221 条
- 1
- 2
- 3
资源评论
- shifu882021-03-16有点坑人啊
qq_27053877
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功