Oauth

|

http://helloworld.naver.com/helloworld/24942

 

http://dna.daum.net/apis/oauth/intro

 

---------------------------

 

http://ko.wikipedia.org/wiki/OAuth

 

OAuth는 OpenAPI로 개발된 표준 인증 방식으로, 각종 애플리케이션에서 사용자 인증을 거칠때 활용될 수 있다.

목차

 [숨기기

개요[편집]

OAuth가 사용되기 전에는 인증방식의 표준이 없었기 때문에 기존의 기본인증인 아이디과 비밀번호를 사용하였는데, 이는 보안상 취약한 구조이다.

기본인증이 아닐 경우는 각 애플리케이션들이 각자의 개발한 회사의 방법대로 사용자를 확인하였다. 예를 들면 구글의 AuthSub, AOL의 OpenAuth, 야후의 BBAuth, 아마존의 웹서비스 API 등이 있다.

OAuth는 이렇게 제각각인 인증방식을 표준화한 인증방식이다. OAuth를 이용하면 이 인증을 공유하는 애플리케이션끼리는 별도의 인증이 필요없다. 따라서 여러 애플리케이션을 통합하여 사용하는 것이 가능하게 된다.

역사[편집]

2006년 11월 브래인 쿡트위터에 OpenID를 탑재하는 작업을 하고 있었다. 같은 시기, 소셜 북마크 사이트인 Ma.gnolia는, 회원이 OpenID를 사용하여 대시보드 위젯으로 서비스에 접속할 수 있는 인증 방법을 필요로 하고 있었다. 이에 쿡, 크리스 메시나, 래리 하프(Ma.gnolia)는 데이비드 리코던(당시 베리사인)과 만나 OpenID를 활용해 트위터나 Ma.gnolia의 API로 인증을 위임하는 방법을 논의했다. 그 결과, API 접근 위임에 대한 공개 표준이 아직 존재하지 않는다는 결론에 이르렀다.

OAuth의 인터넷 커뮤니티는 2007년 4월에 탄생하여, 소수 인원으로 새로운 공개 프로토콜의 초안을 썼다. OAuth 프로젝트를 알게 된 구글의 드위트 클린턴은 지원을 표명했다. 2007년 7월, 팀은 사양 초안을 완성시켰다. 에런 해머래해브가 가세하여 많은 협력자들의 조정을 실시하여, 보다 정식적인 사양을 작성해나갔다. 2007년 10월 3일, OAuth 코어 1.0의 최종 초안이 발표되었다.

2008년 11월, 미네아폴리스에서 열린 제73회의 IETF 회합에서 OAuth의 비공식 회합도 열려 새로운 표준화를 향해 IETF에 OAuth 프로토콜을 제안할지를 논의했다. 회합은 성황을 이루었고 IETF에서 정식으로 OAuth 작업모임을 발족시키는 일에 폭넓은 지지를 얻을 수 있었다.

용어[편집]

OAuth에 관련된 용어들을 간략히 설명한다.

  • 사용자(user): 서비스 공급자와 소비자를 사용하는 계정을 가지고 있는 개인
  • 소비자(consumer): Open API를 이용하여 개발된 OAuth를 사용하여 서비스 제공자에게 접근하는 웹사이트 또는 애플리케이션
  • 서비스 공급자(service provider): OAuth를 통해 접근을 지원하는 웹 애플리케이션(Open API를 제공하는 서비스)
  • 소비자 비밀번호(consumer secret) : 서비스 제공자에서 소비자가 자신임을 인증하기 위한 키
  • 요청 토큰(request token) : 소비자가 사용자에게 접근권한을 인증받기 위해 필요한 정보가 담겨있으며 후에 접근 토큰으로 변환된다.
  • 접근 토큰(access token) : 인증 후에 사용자가 서비스 제공자가 아닌 소비자를 통해서 보호된 자원에 접근하기 위한 키를 포함한 값.

인증방식[편집]

OAuth인증은 소비자와 서비스 공급자 사이에서 일어나는데 이 인증 과정은 다음과 같다.[1]

  1. 소비자가 서비스제공자에게 요청토큰을 요청한다.
  2. 서비스제공자가 소비자에게 요청토큰을 발급해준다.
  3. 소비자가 사용자를 서비스제공자로 이동시킨다. 여기서 사용자 인증이 수행된다.
  4. 서비스제공자가 사용자를 소비자로 이동시킨다.
  5. 소비자가 접근토큰을 요청한다.
  6. 서비스제공자가 접근토큰을 발급한다.
  7. 발급된 접근토큰을 이용하여 소비자에서 사용자 정보에 접근한다.

주석[편집]

  1. http://oauth.net/core/diagram.png

 

같이 보기
[편집]

바깥 고리[편집]

 

------------------

 

 

'개발/활용정보' 카테고리의 다른 글

대학1,2학년때 만들었던 snakewar  (0) 2018.03.10
delegate  (0) 2017.07.07
UML 기본편  (0) 2011.12.05
ClearCase  (0) 2011.08.11
blotware, crapware  (0) 2011.05.27
And

osgi 공부 ^^;;;

|

1. ScreenProperty 샘플 - applicationContext.xml 파일 안에

 

<osgi:reference id="screenPropertyRef" interface="net.xoaframework.ui.local.definition.templatemanager.screenproperty.ScreenProperty"
  cardinality="0..1" />
 
 <bean id="screenPropertyWrapper" class="test_screenpropertyext.lui.ScreenPropertyWrapper" init-method="init">
  <property name="screenProperty" ref="screenPropertyRef"/>
 </bean>

 

- bean의 init-method 값대로 생성시 함수 호출됨

- property의 name에 getXXXX / setXXXX 함수 호출을 osgi 에서 알아서 해줌...

- bean property ref 값이 osgi:reference의 id 값이랑 매칭되어서 interface reference 전달 되는 듯...

 

2.

 

 

 

'개발/활용정보 > Java' 카테고리의 다른 글

BundleActivator와 BundleContext  (0) 2014.12.16
guava  (0) 2013.08.08
osgi shell command  (0) 2013.02.21
uncaughtException  (0) 2012.07.19
Code generation using Javadoc  (0) 2012.07.11
And

Android app process kill

|

http://blog.naver.com/PostView.nhn?blogId=huewu&logNo=110082677696

 

http://sd0720.blogspot.kr/2012/06/process-kill.html

 

 

 

 

안드로이드 어플 완전 종료 (Process Kill)

이번 포스팅은 안드로이드에서 실행된 어플의 프로세스 종료에 대해 정리를 해보려고 합니다.

참고 : Android Developers Dev Guide - Framework Topics Activities

위의 링크는 안드로이드 Develop 공식 사이트이며, 그중에 Activity에 대한 내용을 링크해놓은 것입니다. 참고를 하면 도움이 될 것 같습니다.

본격적으로,

Activity를 종료 시키는 방법을 나열한다면, 


1
2

1
2

1
2

1
2
3

1
2
3
// 첫번째 방법
finsish();

// 두번째 방법
System.exit(0);

// 세번째 방법
android.os.Process.killProcess(android.os.Process.myPid());

// 네번째 방법
ActivityManager am  = (ActivityManager)getSystemService(Activity.ACTIVITY_SERVICE);
am.restartPackage(getPackageName());

// 다섯번째 방법
ActivityManager am  = (ActivityManager)getSystemService(Activity.ACTIVITY_SERVICE);
am.killBackgroundProcesses(getPackageName());


여기서 첫번째 방법은 Activity가 종료되지만 Task 상에서 Process는 실제 종료된 상태는 아닙니다. 따라서 두번째와 세번째를 사용하면 Process까지 종료를 시키게 됩니다.

하지만 두번째 세번째 방법도 Activity를 둘 이상을 사용하게 된다면 Process가 종료되었다가 이전 Activity로 Process가 다시 실행되어 Process가 종료되는 것이 아니라 다시 실행되고 이전 Activity로 돌아가되 됩니다.

네번째 방법과 다섯번째 방법은 구글로 검색하고 포럼에서 게시글을 찾아보고 나온 방법인데요. 이것도 현재 Froyo 버전 이후부터는 작동되지 않는 것을 확인했습니다.(저는 테스트를 2.3.3 버전의 넥서스 원으로 테스트를 하여 확인했습니다.)

따라서 둘 이상의 Activity를 사용할 때는 이전 Activity도 함께 finish를 하고 두번째나 세번째 방법으로 종료를 해야 다시 Process가 살아나지 않는 것으로 확인하였습니다.

'Android 개발 > Android SDK' 카테고리의 다른 글

out of memory  (0) 2012.11.22
안드로이드의 파일 입/출력  (0) 2012.02.12
dalvik debugger  (0) 2012.01.09
Handler와 AlarmManager를 통한 Timer 작업 처리  (0) 2011.05.12
Bitmap OutofMemoryError  (0) 2011.05.12
And