WebAPI 및 AngularJs를 기반으로 응용 프로그램에 대한 권한 부여 메커니즘을 만들고 싶습니다.Asp.NET WebAPI 사용자 지정 승인
BasicHttpAuthentication을 사용하는 몇 가지 기사를 보았습니다.하지만 모든 요청에 사용자 이름과 암호를 보내는 것에 대한 모든 아이디어가 마음에 들지 않습니다. 내가 OpenId 인증을 사용하기를 원하기 때문에 사용자 이름/암호 쌍을 가지고 있지 않기 때문에 더 적합하지 않습니다.
솔루션에 대해 생각하고 있지만 구현 방법을 모르겠습니다. 개념은 사용자가 일반적인 웹 응용 프로그램 에서처럼 인증된다는 것입니다. 사용자/암호가있는 양식을 게시하거나 OpenId 공급자를 선택합니다. 사용자가 성공적으로 인증되면 일정 시간 동안 User 객체를 저장하는 정적 객체에 배치됩니다. 다음으로 usertoken이 생성되어 클라이언트 응용 프로그램에 전달됩니다. 클라이언트는 데이터를 가져올 권한이있는 적절한 인증 토큰으로 위에서 언급 한 정적 객체에 사용자가있는 경우 각 요청에 대해 토큰을 서버에 전달합니다.
먼저 -이 문제에 대한 좋은 접근 방법이라고 생각하십니까? 둘째 - 쿠키를 사용하지 않고 인증 토큰을 어떻게 전달해야합니까? BasicHttpAuthentication과 같이 요청 헤더에 있어야한다고 생각합니다. 그러나 실제로 처리하는 방법을 모르겠습니다.
인증 토큰을 사용하라는 제안에 따라 서버를 호출 할 때마다 만료 날짜를 다시 설정하려면 어떻게해야합니까? 누가 어떻게 재설정합니까? 클라이언트 또는 서버입니까? –
"만료 날짜 재설정"으로 미루어 만기가 만료되는 시나리오를 말하는 것 같습니다. 따라서 로그인 호출은 2 시간 만료 토큰을 반환 할 수 있으며 이후의 각 호출 (반드시 로그인 할 필요는 없음)은 호출 시간으로부터 2 시간으로 해당 만료를 재설정해야합니까? 클라이언트와 서버 모두 시나리오를 알고 있어야합니다. 서버는 모든 호출 (응답 만료)에 대한 응답 헤더에 새 인증 토큰을 보낼 수 있습니다. 그러면 클라이언트는 해당 헤더를 읽고 다음 호출에 새 토큰을 사용합니다. – Snixtor