미삭 웹 서비스에 대한 인증

39 m, 최저 i& 설계할 수 있는 최선의 방법일 미삭 웹 서비스, 키워봤지 불분명한 인증. 이 서비스는 사용자가 자신의 데이터를 관리할 수 있기 때문에 개별 액세스하려면 어떤 종류의 사용자 인증이 필요합니다. # 39, ve been i& 보면 이러한 옵션:

Oauth -

OAuth 인증 인증 대한 자세한 내용은 아닌 것 같다. I am not 내에서 처리할 수 있도록 계획을 내부적으로 서비스 인증 솔루션을 찾고, 그래서 이. 하지만 이 또한 적합한 OAuth 인증?

Openid -

OpenID 인증을 위한 솔루션은 더 할 수 있지만 이것은 확실히 하는 데 활용할 수 있게 해 주는 3rd party 크레덴셜이 (구글, 야후, etc.) 이건 아니다 싶다 표시되어도 지원할 수 있으며, 사용자가 운영 염려사항 가져다줄래요 내아기마저도 말해둘꼐요 등록하려면 넷윈을 크레덴셜이 (이메일 / 암호).

  • HTTP 기본 인증

간단하게 구현할 수 있지만, 이것은 it& # 39 의 아닐 수도 있다는 것을 알고 내 매우 안전한 방법입니다. 또 각 액세스 할 수 있지만, I& 증명방식 교환을 할 것 같다; d # 39 한 다음 계속 액세스만 세션을 통해 사용자가 인증하려고 포지셔닝하십시오 토큰인지.

  • 사용자 인증

기본적으로 로그인 / 토큰인지 세대 서비스에 필요한, 그리고 내 자신의 롤 액세스용 유효함 토큰인지 다른 모든 자원 (물론, 모든 것이 약간만이라도 over SSL).

39 웹 서비스, I& 만들기는 물론, ll 에서도 이러한 서비스를 사용하는 클라이언트 애플리케이션 (web) 를 구축, 하지만 난 사용자를 대신하여 don& # 39, / etc / 크레덴셜을 사용자 정보를 저장할 수 있는 응용 프로그램을 사용할 수 없다. 따라서 이 같은 일이.

사용자 (또는 전자 메일 / 암호 인증 증명방식 3rd party)

  • &gt. 웹 애플리케이션 (응용 프로그램 ID 인증 함께)
  • &gt. 웹 서비스

그리고 다시, I want to 허용하시겠습니까 구축할 수 있기 때문에, 다른 클라이언트도 3rd party 어플리케이션마다 중간 계층 모두 사용할 수 있습니다.

사용자 (또는 전자 메일 / 암호 인증 증명방식 3rd party)

  • &gt. 3rd party 애플리케이션 (응용 프로그램 ID 인증 함께)
  • &gt. 웹 서비스

내 생애 최상위 요구 사항은 다음과 같습니다.

  • 보안 (당연히)
  • 기본 크레덴셜이 3rd party 크레덴셜이 (구글, 야후, LinkedIn, 등) 지원 -
  • 지원 여러 클라이언트 (웹 애플리케이션 (앱) 을 모바일 애플리케이션 (앱) 을 3rd party 어플리케이션, etc.)
  • 클라이언트 크레덴셜이 (그냥 app ID?)
  • 로그인 세션 만료시킬 있는
  • 인증 필요하지 않습니다.

그래, 내 질문은, 이 같은 내용을 바탕으로 (해주세요 다운로드되었는지 이 너무 애매한), best&quot &quot 있을 수 있다. 외곽진입? Oauth 를 버리고, 아니면 내가 이렇게 또는 적절한 있다 방금 내 자신의 롤 너무 복잡한 인증?

  • EDIT:*

다음 구현하십시오 할 것 같아요.

  1. 기본 크레덴셜이 / 토큰 (HTTP 기본 인증 over SSL?)

  2. 승인/보류 OpenID &quot 의존해 Party"; 내 다른 api 를 사용할 수 있도록 호스팅된 openid (즉, &quot 대한 지원, 3rd party credentials")

  3. 승인/보류 OAuth &quot Consumer"; 3rd party 액세스하려면 내 apiu 수 있도록 서비스 (a, s LinkedIn 프로파일할 액세스하면 user& # 39 등).

  4. 승인/보류 OpenID &quot Provider"; # 39 의 고유 id 를 사용할 수 있도록 다른 사람들이 api& (옵션)

  5. 승인/보류 OAuth &quot Provider"; 3rd party 앱 내 api 를 통해 액세스하려면 users& # 39. 대신 (옵션)

이게 바로 것보다 더 복잡한 것, 아니면 내가 이렇게 사용해야 하는지?

질문에 대한 의견 (2)

제프트 고려해보십시오 볼 수 있습니다 (JSON 웹 토큰인지) 제프트 구배하는 rfc. It 보안 및 세션 종료 구하사 충족합니다 홍보하십시오. # 39 의 표준 it& 널리 쓰일 것 같지는 않다고 하지만 드래프트 대상이 된 지금, 제프트 OAuth 2.0 이 바뀔 수도 있기 때문에 곧 일부입니다. 대부분의 언어에서 많고 많은 라이브러리보다는 이미 제프트 쉽게 구축할 수 있다. 간단한 설명, 제프트 의 3 부분으로 구성되어 있는 것처럼 토큰인지 헤더입니다 몸과 서명입니다. Json 이 헤더나 바디입니다 객체에 basee64url 인코딩되지 있다 (알파벳 문자를 통해 다른 두 개의 마지막 base64) 한 후 함께 서명됩니다 HMAC256 (또는 다른 알고리즘입니다 머리글로 지정된) 이 RFC 발령합니다 방법에 대해서는 정확히 이 서명입니다. 이 온라인 토큰인지 발생기입니다 를 확인할 수 있습니다.

Http 헤더를 및 쿼리하지 매개변수입니다 친화적임 제프트 있다.

해설 (2)

& # 39 는 하나의 좋은 옵션을 고려해보십시오, 공유된 키 Authentication& # 39;. 이 유형은 있는 아마존 웹 서비스 인증 및 Windows Azure Storage service 는. 우리는 우리가 사용할 수 있는 키 인증 공유됨 미삭 서비스 개발 중이다. 구글 & # 39 의 빠른 검색을 할 수 있고, 주요 authentication& 공유됨 # 39. 많은 정보를 얻을 수 있습니다.

내가 한 작성했습니까 블로그 포스트 here 우리 섹스한거요.

수준 높은 단계는 다음과 같습니다.

  1. 클라이언트 결합한 독특한 데이터 (요소) 에 정의된 미삭 서비스용입니다.
  2. 이 결합됨 예중이 클라이언트 및 서비스를 사용하여 데이터를 키만 알려진 미삭
  3. 이 서비스는 HTTP 헤더를 보낼 서명입니다 미삭 의 값으로
  4. 똑같이 아니하였으매 미삭 서비스 클라이언트 컴퓨팅 서명
  5. 함께 한 경우 그 같은 solaris. 클라이언트별로 비교하십시오 서명입니다 승인에서 계산됩니까 유효한 요청 다른 요청 거부
해설 (1)

내 제안에 인증하십시오 설정한 후 첫 번째 세션을 토큰인지 요청하고 있다.

또한 각 후속 요청임을 토큰인지 제공하십시오 프런트엔드에 애플리케이션 저장할 수 있습니다.

이 기간 만료 토큰인지 있을 것이라고 말했다. 토큰인지 다시그것들을 만료시킬 를 사용하지 않을 경우 일정 기간.

Ip 주소 보안 강화를 위해 시작한 이 토큰인지 연결할 수 있습니다.

이 중 하나로 투과시킨 tpc. 쿠키 또는 URL 에서 쿼리하지 매개변수입니다 토큰인지 수 있습니다.

신경 쓰지 말라고 SSL client authentication 그대로 사용할 경우 상호 SSL 인증이 사용할 수 있습니다. 각 클라이언트는 서버에 있는 사람이 인증서로 프로비저닝되어야 할 것입니다. 동일한 인증서를 처리할 수 있는 경우, 다양한 클라이언트 인증서가 될 수도 있다는 것이다.

해설 (5)

Oauth 2.0 '이 될 수 있을 것 같아요' 요구 사항에 따라 흥미로운 옵션입니다. 이것은 oauth 인증 프로토콜 클라이언트 () 가 있지만, 이는 또한 '승인' '클리렌티드' 와 '클라이랑체릿'. '흐름' 을 사용할 수 있습니다 '클라이언트 자격증명이 고용하곤 포함하지 않기로 한 사용자가 가지고 있는 새로고치기 토큰인지', '를 이렇게 액세스용 토큰인지 만료시켜 일정 시간이 지나면. 그 뒤 OAuth 는 광범위하게 사용되는 프로토콜 클라이언트 및 서버 및 클라이언트 사이드 당신꺼에요 이미 많은 라이브러리를 사용할 수 있습니다.

Oauth 는 아마도 내가 그렇게 생각한다면 너무 무겁게 또는 너무 복잡하다 '기본' 인증 '를 통해 응용 프로그램의 치중한다는'. 그러나 난 또 다른 거짓 질문에 대한 대답이 나와 비슷한 나라면 절대 내 스스로 인증 메커니즘을.

자세한 정보는 다른 것을 보면, ve I& 오토메이티드 수 있습니다 # 39 초 비슷한 질문: https://stackoverflow.com/a/15003777/849741

해설 (1)

39, ve 구현됩니까 i& 기본 서비스 인증 및 릴리즈됨 쉽게 바뀔 수 있으며, 오픈 소스로 3 튜플을 수 있도록 허용하는 경우 로그인 필요하다. 자바 가상 머신 (jvm) 에 비해 2 살 정도 및 서면 봄 다시 생각해 볼 수 있도록 할 수 있는 기술이 있지만 작동하잖아 진실이며당신이 # 39 의 기본 개념은 it& 얼마나 힘든가. 찾아 here 구글, 내 블로그 포스트 또는 준수하십시오 할까. 참고로, 더 이상 it up on 입금합니다 모든 app 에서 설정한 신앙이니라 클로드 베스 로드되는지 확인을 합니다.

해설 (0)

Http 를 사용할 수 있지만, 실제로 전송할 수 있는 것은 암호 인증 암호를 기본 클라이언트 요청에 대한 확보됨 증표지 다른 리소스에는 자신이 / it / 그녀의 / 그 암호가 제공할 수 있는 그의 적이 단 한 번만 (어쩌면 다른 채널을 통해). 이 언약보다는 안전한 중간자 공격 (as there& # 39 의 메시지가 아닙니다 사인오프하는) 이 있지만 아이디어는 항상 클라이언트를 필요로 할 수 있는 동적 토큰인지 발령합니다 짐작이지만요. (즉, 사용자 인증 서비스 협력하였습니다) 한 후 할꺼이나 보낼 토큰인지 비호환성의 암호란이 교체품 때문에 실제 암호란이 끊임없이 네트워크를 통해 전송할 아니다. 예, 이 중 하나, 실제로는 같은 전능하신분은 &quot, 맞춤형 인증 solutions&quot isn& 정판할 수 있기 때문에, t # 39 의 어떤 규칙을 사용하여 같은 판매업체에서 운영까지도 토큰인지 암호란이 서명입니다 토큰인지 암호로 즉 세션 바인딩되지 또는 재계산된 매년 요청 (님에 모든 비밀들입니다) 서버를 통해 어떤 필요에 따라서 검증하십시오 메시지 - 판매업체에서 있다. 이 아이디어는 전송하십시오 검증중 토큰인지 같은 &quot password"; 좀 더 복잡한 프로토콜 (HTTP) 의 기본적인 인증 요청 및 의존할 필요는 있지 않을 때, 이러한 아웃해야 룰링이 (데이터베이스에구성원을 옵션인지.

해설 (0)

내가 부팅하십시오 RESTful 웹 서비스를 사용하여 제안하세요 봄 봄 구현할 수 있기 때문에 그들의 다음 단축시킵니다 보안 인증 따라 자신만의 맞춤형 템플릿을 사용할 수 있습니다. 사용자 인증 및 보안 또는 구현하는 클래스를 구현할 수 있습니다 확장하여 주둔지 인터페이스와도 소유한 것으로 나타났다. 또한 다른 인증 메커니즘을 적용할 수 있도록 옵션을 가지고 그 you& # 39, ve 나열되는지 부트하는 봄 필요한 경우.

해설 (0)
  • OAuth 인증이 필요한 경우에만 2.0* 갈 길이라고. OpenID 접속하십시오 를 사용할 수 있는 권한 부여 OAuth2.0 인증을 제공합니다. 오이프니드 대한 인증을 받은 제품을 사용할 수 있는 여러 가지 접속하십시오 교도관님도요 설치 서비스 할 경우 여러 가지 온라인 서비스 이용이 가능합니다.
해설 (0)