Skip to content
This repository has been archived by the owner on Feb 12, 2022. It is now read-only.

archmagece-backyard/sb-oauth-java

Repository files navigation

bs-oauth-java

자바 OAuth2 Client 라이브러리

로그인 기능까지만 개발. oauth-integration에서 spring 연동기능을 추가하려고 했으나 sso-helper과 겹쳐서 제외예정. 여기선 테스트 코드정도만 oauth1.0a은 제외. 제대로된 사이트는 전부 1.0 지원 끊음.

예정

facebook 모듈 yaml 적용

모듈 설명

run
oauth-client <- oauth-storage <- oauth-connector 

test
oauth-client <- test-helper <- oauth-connector-* 

oauth spec https://tools.ietf.org/html/rfc6749

지원모듈

사용법 Usage

테스트시에 oauth-connector-* System.getProperty("user.home")/.devenv/oauth/NAVER.cfg 를 추가

client_id=clientidstring
client_secret=clientsecretstring
redirect_uri=https://test.polypia.net/oauth/facebook/redirect
scope= #네아로 화면에서 컨트롤
resource_profile_uri=https://openapi.naver.com/v1/nid/me

까까오는 secret에 아무거나 넣던가 secret를 사용하면 그걸 넣던가 해야함

스프링에서 사용 예시(예 facebook)(구버전. 변경필요)

@Configuration
public class BeanConfig {
	@Bean
	public OAuth20Service facebookService(){
		return new OAuth20ServiceSimple(
				new FacebookApi(),
				new OAuth20Config(
						"your_api_key",
						"your_api_secret",
						//your redirect url(풀 주소인 경우도 있고 일부 사이트는 경로만 쓰는 경우도있고)
						"http://sso.beansugar.org/oauth_callback",
						//null해도 되는데 값을 더 받아오려면 추가해야함
						null
				)
		);
	}
}

Maven Setting

gradle은 알아서

<!-- repository -->
<repositories>
	<repository>
			<id>bintray-archmagece-jvm-repo</id>
			<url>https://dl.bintray.com/archmagece/jvm-repo</url>
	</repository>
</repositories>
<!-- dependency -->
<dependency>
	<groupId>org.scriptonbasestar.oauth</groupId>
	<artifactId>sb-oauth-java</artifactId>
	<version>sb-oauth-20181219-3-DEV</version>
</dependency>

exit()

oauth 프로토콜은 공통코드를 쓸 수 없지 않을까

스펙이 너무 다양해서 로그인 프로세스나 파라미터도 제가각이다. 사실상 표준화 실패로 봐야하지 않나. 로그인 및 access_token 획득까지만 처리. 이후엔 해당 사이트별로 처리.

어차피 진짜 미친듯이 많아야 열개, 보통 2~4개 할건데 각 사이트 개별 SDK 사용하는것도 괜찮을 것 같다.

Releases

No releases published

Packages

No packages published

Languages