Google 서비스의 ID는 데이터베이스에 저장된 토큰을 기반으로합니다. 이것은 사용자 이름과 암호로 로그인하여 클라이언트에 의해 획득됩니다.토큰 기반 인증 서버 요청/응답 설계
리소스가 요청 될 때마다 토큰의 유효성을 검사하고 사용자가 해당 리소스에 액세스 할 수있는 권한이 있는지 확인합니다.
우리의 서비스는 별도로 배포되며 HTTP를 통해 인증 서버에 연결할 수 있습니다.
요청을 승인하는 가장 좋은 방법/일반적인 방법은 무엇입니까? 요청 권한 및 역할
내가 역할과 토큰을 전달 생각하고, 인증 서버 토큰 검증 요청에 사용자의 허가를 요청한와 토큰을 보내기
.
{
token: 'xyz',
role: 'ROLE_ADMIN',
permission: 'SAVE_USER'
}
으로 응답하고 성공한 경우 200, 유효하지 않은 토큰의 경우 401, 권한 사용 권한이없는 경우 403으로 응답합니다. 마음에 또 다른 방법은 인증 서버에 토큰 검증 요청 토큰 단지 토큰을 보내는
는 인증 요청 만 토큰을 보내기.
{
token: 'xyz'
}
모든 권한과 역할을 사용자에게 응답
가 있습니다{
roles: ['ROLE_ADMIN', 'ROLE_USER'],
permissions: ['SAVE_USER', 'DELETE_USER', 'SHOW_USER']
}
더 바람직하다이 무엇입니까? 내가 고려할 수있는 다른/패턴 접근법이 있습니까?
Spring MVC를 사용한다면 Spring OAuth를 사용하는 것이 더 좋다. 실제 정보가 데이터베이스에 저장되는 동안 임의의 uuid (토큰) 만 보내어 토큰 기반 인증을 처리합니다. 따라서 토큰을 사용하여 리소스에 액세스하려고 할 때마다 spring은 해당 토큰에 대한 역할/사용 권한을 확인하고 그에 따라 사용자를 확인합니다. – Afridi
@Afridi 현재 OAuth를 사용하지 않습니다. 비 OAuth 인증/권한 부여를 위해 Spring OAuth를 사용하는 것이 바람직합니까? – froi