2016-06-02 4 views
0

보안 인증을 위해 Angularjs 애플리케이션에 JWT를 구현하려고했습니다. 나는 서버 측 (JWT)에서 JWT를 생성했으며 성공적인 로그인 후에 클라이언트 측에 JWT를 리턴한다. JWT를 $ http.defaults.headers.common.Authorization에 저장했고 $ window.sessionStorage에도 저장했습니다. 이제 $ http 서비스가 만든 모든 요청에서 JWT를 볼 수 있습니다.Angularjs validate JWT

내가 명확하지 않은 부분은이 시점부터 진행하는 방법을 모른다는 것입니다. 서버 측의 $ http 호출에 대해 JWT의 유효성을 검사해야합니다. 누군가가 서버 측에서 클라이언트 측 JWT의 유효성을 검사하기 위해 어떻게 진행해야하는지 명확히 할 수 있습니까?

+1

서버 측은 무엇입니까? 울타리? 마디? – Katana24

+0

죄송 합니다만, 자바라고 언급하지 않았습니다. – SGN

+0

당신은 토큰에 현재 사용자에 대한 신분을 추가하고 모든 요청에 ​​대해 'Authorization' 헤더에서 값을 가져 와서 파싱합니다. 어떤 사용자가 토큰에 인코딩되어 현재 요청을 그들과 연관시킵니다. 토큰과 비밀 키 (서버에서만 사용 가능)를 사용하여 [여기] (https://jwt.io/) 토큰을 디버깅 할 수 있습니다. 개인 정보를 암호화하지 말고 정보를 가능한 한 적게 두어 엄청난 토큰을 얻지 않도록하십시오. 또한 안전한 연결 (HTTPS)을 통해 전달하는 것이 좋습니다 –

답변

1

예 클라이언트가 백엔드에 요청할 때마다 헤더에 JWT를 제공해야합니다.

JWT 내부에는 예를 들어 사용자 이름과 같이 사용자를 식별하는 매개 변수가있을 수 있습니다. JWT 안에 비밀 번호 또는 기타 민감한 정보를 저장하지 마십시오.

enter image description here

자바를 useing하는 경우, 인증 된 사용자 만 액세스를가 할 수있는 URL에 매핑 될 Filter를 만들 수 있습니다. 필터에서 suplied 토큰이 올바른지 확인하기 위해 필요한 검사를 수행 할 수 있습니다. 요청이 통과되면 요청에 응답 할 수 있습니다. 그렇지 않으면 액세스 권한이 없다는 오류를 클라이언트에 반환 할 수 있습니다.

자세한 내용이 필요하면 this is a good place to start 일 수 있습니다.

+0

여전히 위의 그림에서 주어진 56 단계와 6 단계를 구현할 생각이 없습니다. 그것에 관한 어떤 생각이나 블로그? – SGN