웹 사용자 인터페이스를 사용하지 않고도 제품 사용자가 제품 기능과 직접 통합 할 수 있도록 간단한 REST API가있는 제품이 있습니다.
최근 저는 데스크톱 사용자를 API와 통합하여 제품 사용자가 해당 타사 응용 프로그램을 사용하여 데이터에 액세스 할 수 있도록 다양한 타사로부터 관심을 얻었습니다.
Twitter를 사용하려는 응용 프로그램은 Twitter에서 호스팅하는 로그인 페이지를 사용하여 인증하여 특정 응용 프로그램에 해당 사용자의 데이터에 액세스 할 수있는 권한을 부여합니다. "허용"또는 "거부"버튼을 클릭하면 인증 프로세스가 완료됩니다. 페이스 북은 내가 알 수있는 것과 같은 메커니즘을 사용합니다.
추가 연구 결과, 이것은 실제로 작동하는 것으로 보이며 내 API가 .Net 기반이기 때문에 DotNetOpenAuth를 사용하고 유사한 메커니즘을 제공해야한다고 생각합니다. 불행히도 샘플은 드물게 문서화되어 있으며 (필요한 경우) 온라인에서 찾을 수있는 유일한 자습서는 타사 제공 업체를 사용하여 웹 사이트에 로그인 할 수 있도록 사용자에게 로그인 메커니즘을 제공하는 데 중점을 둔 것으로 보입니다.
내가 정말로하고 싶은 것은 내 REST API가 내 웹 응용 프로그램의 모든 핵심 인증 및 비즈니스 논리를 처리하고 본질적으로 내 웹 응용 프로그램이 본질적으로 OAuth를 통해 API를 사용하는 다른 응용 프로그램이어야한다는 것입니다. 사용자는 사용자 이름과 비밀번호를 사용하거나 MyOpenID 또는 Facebook과 같은 타사 제공 업체를 통해 웹 사이트에서 직접 인증 한 다음 반환 된 토큰을 사용하여 REST API에 대해 인증합니다.
기본적으로 OAuth 서비스를 호스팅하기 위해 API가 필요하지만 사용자가 타사 OAuth 서비스를 사용하도록하는 것 같습니다. 도움이 될 수는 없지만 OAuth에 대한 이해가 부족하여 내가 너무 복잡하게하는지 또는 내가하려고하는 것이 일을하는 좋은 방법인지 나쁜지를 결정하는 데 충분하지 않다고 생각합니다.
누군가 내가 수행해야 할 단계에 대한 포괄적 인 개요를 제공 할 수 있습니까? 아니면 몇 가지 튜토리얼을 알려주시겠습니까? 아니면 내 제안을 폭로하고 (건축 적으로) 이것에 대해 내가 잘못 가고 있다고 말합니까?