지난 며칠 동안 어려움을 겪고있는 것에 대한 피드백/조언 및 정보를 얻기 위해 게시하고 있습니다. 시작하려면 프로젝트를 빨리 분해하십시오. 다음 올바른 로그인에 인증 토큰을 발행하고 OWIN를 사용 (IIS에서 호스팅) 및 ASP.NET 신원 -외부 웹 API에서 제공하는 OAuth Bearer Token 인증
WebAPI 자원 & 인증 서버 :
솔루션 2 응용 프로그램이 있습니다 다양한 컨트롤러에 대한 요청을 허용합니다.
MVC 클라이언트 응용 프로그램이 - 아직 어떠한 권한은 없지만 모든 데이터를 얻기 위해 WebAPI 자원 서버를 호출 할 것이다 (나는 그것을 알아낼 때까지). 이러한 호출은 클라이언트 응용 프로그램의 AJAX 호출이없는 클라이언트 응용 프로그램의 컨트롤러 작업으로 만 이루어집니다.
클라이언트 응용 프로그램에는 자체 데이터 소스가 없습니다. 모든 정보는 WebAPI 서비스가 액세스 할 수있는 데이터베이스에 저장되므로 본질적으로 올바른 자격 증명을 제공하고 클라이언트 응용 프로그램이 베어러 토큰을 받으면 응용 프로그램이 권한있는 것으로 볼 수있는 방법을 제공해야합니다.
- 이 처리하는 가장 좋은 방법은 무엇입니까?
- 는 서버의 OAuth를 설정을 사용하도록 클라이언트 측에서 OWIN를 구성 할 수 있습니까? 잘못된 트리를 짖고 있으며 HTTPClients 만 사용해야합니까?
- 나는 토큰 소지자를 역 직렬화 및 세션에 저장하고, 는 클라이언트 측에서 다음을 확인하기 위해 내 자신의 인증 공급자를 작성할 수?
내 초기 우려는 무기명 토큰을 남용하고 이상적인 솔루션으로 자갈을 넣으려고하는 것입니다. 지금까지 발견 한 외부 권한 부여의 모든 예는 Google/Facebook/Twitter에서 호스팅하는 제공 업체를 호출하여 사용자가 자신이 말하는 사람인지 확인한 다음 시스템에 사용자 레코드를 만드는 것으로 이동합니다. 내 응용 프로그램은 이것을 할 수 없습니다. 보안에 관해서
나는 IP 검증과 함께 식별자와 비밀을 제공하여 요청이 클라이언트 응용 프로그램에서 온 한 검증 할 필터를 도입 할 계획이었다.
나는 이것이 약간 열린 상태일지도 모른다는 것을 알고 있지만, 어떤 조언을 해 주시면 감사하겠습니다. 프로젝트의 범위는 웹 서비스가 데이터베이스에만 액세스 할 수 있다는 것입니다. MVC 클라이언트 응용 프로그램은 다른 서버에서 호스팅되며 서비스는 해당 클라이언트 응용 프로그램의 요청 만 수락합니다.
좋은 질문 .... –