OAuth 2.0 이란 ?

외부 어플리케이션에서 HTTP 서비스에 제한된 접근을 할 수 있도록 권한을 부여하는 프레임워크.



OAuth의 4가지 역활

자원서버 , 권한서버 , 자원 소유자 , 클라이언트



용어 및 특징 비교 ( OAuth 1.0 vs OAuth 2.0)

 용어 

 1.0 

 2.0 

 사용자 

 User 

 Resource Owner 

 클라이언트 

 Consumer 

 Client 

 API 서버 

 Service Provider

 Resource Server

 권한 

 Authorization Server


구분 

1.0 

2.0 

HTTPS 

선택 

필수 

구현 복잡도 

복잡 

비교적 간단 

보안산 안전한 환경 

Server-Side 

다양한 환경 지원 



OAuth 2.0 Protocol


Authorization Grant

1. 클라이언트가 자원 소유자에게 권한을 달라고 요청

2. 자원 소유자가 클라이언트에게 권한 위임 허가

3. 클라이언트는 권한 서버에게 자원 소유자가 허가했다고 알림

4. 권한 서버는 정말 사용자가 허가한게 맞는지 확인 후 Access Token을 클라이언트에게 발급

Authorization Grant Type

1. Authorization Code Grant

권한 코드를 이용한 허가 방식

장기 접근시 사용 ( Access Token 만료시, Refresh Token으로 갱신)

기밀 클라이언트일 때 사용

Authorization 요청

    • response_type : "code" 여야함
    • client_id : 클라이언트 식별자
    • redirect_uri : 응답시 redirect 될 uri
    • scope : 접근 요청 범위
    • grant_type : "authorization_code" 여야함

Authorization Token 응답

    • access_token : 필수 . 권한 서버가 생성한 권한 코드
    • expires_in : 만료시간(초)
    • refresh_token : 갱신토큰

Access Token 

    • ID , PW 를 대신하여 자원에 접근하기 위한 값
    • 접근된 접근 권한만 가짐.
    • 만료 시간 존재

Refresh Token

    • Access Token을 얻는데 사용되는 인증서
    • Access Token이 발행될 때 같이 얻을 수 있음.
    • Access Token이 무효화되거나 만료될 때 사용
    • 유출에 주의해야함


2. Implicit Grant

    나중에..

3. Resource Owner Password Credentials Grant

4. Client Credentials Grant




'웹 개발' 카테고리의 다른 글

JSTL (작성중)  (0) 2018.05.04
jsonp  (0) 2017.02.09
JSP 와 Servlet의 한글처리.  (0) 2016.10.06
Apache 와 Tomcat  (0) 2016.07.26
동일출처정책(same origin policy)  (0) 2016.07.26

목차

  • 개요
  • 사전작업
  • Host OS 네트워크 확인
  • VirtualBox 관리자에서 브리지 어댑터 설정
  • Guest OS 에서 네트워크 재시작
  • 상호 간 연결점검

개요

  • 브리지 어댑터를 이용하여 VM 을 공유기 네트워크에 편입시켜보자.
  • NAT과는 달리 HOST 와 GUEST의 네트워크가 동등한 관계가 된다. 포트포워딩으로 간단하게 웹서비스 가능
  • 아이피는 보통 192.168.0.X을 할당받음

사전작업

  • 리눅스의 eth0을 활성화시키면 된다. 블로그 내 포스팅 확인.

Host OS 네트워크 확인

실행 - ncpa.cpl 입력 후 확인

다음과 같이 2개가 보여야 함

  • 실제 네트워크 어댑터
  • VirtualBox Host-Only Network

VirtualBox 관리자에서 브리지 어댑터 설정

  • CentOS7 - 설정 - 네트워크 - 어댑터1
  • 다음에 연결됨 - 브리지 어댑터
  • 이름 - 실제 네트워크 어댑터
  • 고급 클릭 > 무작위 모드 = 모두 허용

CentOS로 SSH접속 확인.

HOST 포트 확인.

  • 리눅스에서 > 윈도우 nc -z 192.168.1.2 했는데 커넥션아웃 남..왜그런지 확인해야지..아마방화벽일듯..?


'웹 개발 > 로컬서버' 카테고리의 다른 글

CentOS Tomcat 설치하기.  (0) 2017.01.22
CentOS7 JDK설치하기  (0) 2017.01.22
로컬서버 - CentOS 설치  (0) 2017.01.11
로컬서버 - VirtualBox 설치하기  (0) 2017.01.07
VirtualBox에 CentOS7 로컬서버 구축하기  (0) 2017.01.07

목차

  • CentOS 7 다운로드

CentOS 7 다운로드


목차

  • 다운로드
  • 설치

다운로드

https://www.virtualbox.org/wiki/Downloads 링크타고 가서 다운받으면 됨.

설치

그냥 다 next 눌러주면 됩니다...



'웹 개발 > 로컬서버' 카테고리의 다른 글

CentOS Tomcat 설치하기.  (0) 2017.01.22
CentOS7 JDK설치하기  (0) 2017.01.22
로컬서버 - 브리지네트워크전환  (0) 2017.01.11
로컬서버 - CentOS 설치  (0) 2017.01.11
VirtualBox에 CentOS7 로컬서버 구축하기  (0) 2017.01.07

목차

  • 개요
  • 사전작업
  • VM생성
  • 네트워크설정
  • VM시작 , iso 마운트
  • 리눅스 시작
  • 인터넷 연결 확인
  • 브리지 네트워크로 전환
  • 네트워크 매니저 비활성화
  • eth0 자동시작 설정
  • Tomcat 설치 및 설정


개요

  • VirtualBox에 CentOS 7 을 설치하여 로컬서버 구축하기.
  • 네트워크 구성하기
  • 윈도우에서 SSH 

사전작업


VM생성

  • VirtualBox실행
  • 새로 만들기(N) 클릭
  • 이름 =  CentOS7 (맘대로) , 종류 = Linux , 버전 = RedHat(운영체제맞게) > 다음
  • 메모리크기  > 다음
  • 지금 새 가상 하드 디스크 만들기 체크  > 다음
  • VHD 선택  > 다음
  • 동적 할당 > 다음
  • 파일 위치 및 크기 > 만들기

네트워크설정

  • CentOS 우클릭 - 설정 클릭
  • 네트워크 - 어댑터1 - 고급 - 반가상네트워크 (vertio-net)

VM시작 , iso 마운트

  • CentOS 시작 - 시동디스크창 - 다운받은 iso선택

리눅스 시작


인터넷 연결 확인


브리지 네트워크로 전환


네트워크 매니저 비활성화

eth0 자동시작

  • vi /etc/sysconfig/network-scripts/ifcfg-eth0
  • UUID 주석처리 
  • ONBOOT = yes

Tomcat 설치 및 설정


'웹 개발 > 로컬서버' 카테고리의 다른 글

CentOS Tomcat 설치하기.  (0) 2017.01.22
CentOS7 JDK설치하기  (0) 2017.01.22
로컬서버 - 브리지네트워크전환  (0) 2017.01.11
로컬서버 - CentOS 설치  (0) 2017.01.11
로컬서버 - VirtualBox 설치하기  (0) 2017.01.07

select * from user_triggers 에 검색되는 trigger에는 분명 트리거이름이 존재하는데


drop trigger 트리거이름 구문을 실행하면 ora-04080 오류가 나온다.


구글 검색을 해보니 트리거 이름이 소문자로 정의 된 경우 해당오류가 날 수 있다고 하더라...ㅠㅠ


해결방안 

drop trigger 소유자계정."트리거이름";   형태로 drop시켜주니 잘 삭제된다. 


트리거이름은 대문자로합시다...


ResultSet을 불러와서 getTimestamp(인덱스)를 호출하는데 

java lang illegalargumentexception timestamp format must be yyyy mm dd hh mm ss fffffffff

같은 오류가 발생하였다. 


정말 간단한건데 이딴거 때문에 몇시간을 버린건지..한심해진다...

위와같은 오류는 timestamp 형태를 맞춰주지 않아서 발생하는 오류이다. 하지만 필자의 경우 형태가 맞는데 계속 위와같은 에러가 발생해서 멘탈이 나갔었는데 


select 할때 * 과 컬럼을 나열한 경우의 차이때문에 컬럼순서가 맞지 않아서 발생한 에러였다..

date값이 들어가는 위치에 자꾸 이상한 문자열이 들어가버리니 위와같은 에러가 발생한거였다...


멘탈아웃...


'웹 개발 > 데이터베이스' 카테고리의 다른 글

ora-04080 trigger does not exist  (0) 2017.01.03
Date 형식 update  (0) 2016.09.01

웹에서의 한글처리 방법과 인코딩을 공부중인 신입입니다. 한글처리 관련 삽질을 하다보니 한번 정리해야 할 것같아서 문서로 남깁니다.. 제가 착각하고 있는 부분이나 틀린부분 지적해 주시면 감사하겠습니다 :)


<%@ page language="java" contentType="text/html; charset=EUC-KR" 
    pageEncoding="EUC-KR" %> 


charset -> jsp 페이지 출력 시 사용할 문자코드

pageEncoding -> jsp 파일 작성 시 사용할 문자코드


자바 가상머신(JVM) 내부에서는 모든 문자열이 unicode로 처리된다. 따라서 서블릿 컨테이너는 jsp을 jvm으로 읽어들일 때 

pageEncoding설정한 문자코드에서 unicode로 변환한다.

그리고 웹 브라우저에 html문서를 출력할 때는 unicode에서 charset에 설정한 문자코드로 변환하여 출력한다.

contentType에 설정한 값을 통하여 브라우저에게 문자코드 정보를 전달한다.


인코딩과 디코딩이란?

인코딩은 문자를 숫자로 매핑하는 방법이고 , 디코딩은 매핑된 숫자를 문자로 매핑하는 방법이다.


request.setCharacterEncoding()

요청 파라미터의 캐릭터 인코딩을 설정(jsp -> servlet)


response.setCharacterEncoding()

요청 받는 파라미터의 캐릭터 인코딩을 설정.(servlet -> jsp)


--> 해당 서블릿마다 위와같은 처리를 하는 것은 매우 번거로운 일임. 게다가 문자코드를 변경할 일이 생기면 모든 서블릿을 변경해야하는 큰 일이 생겨버림.. 그래서 filter를 사용하여 일괄적인 문자코드 관리가 가능함.



Get방식의 한글처리

-> tomcat의 web.xml 의 uridecoding 설정을 변경 utf-8 한다.


 


'웹 개발' 카테고리의 다른 글

jsonp  (0) 2017.02.09
OAuth 2.0 ( RFC 6749)  (0) 2017.01.19
Apache 와 Tomcat  (0) 2016.07.26
동일출처정책(same origin policy)  (0) 2016.07.26
http와 https  (0) 2016.07.26

+ Recent posts