2013-10-15 2 views
3

웹 사이트를 만들고 WebAPI를 사용하여 웹 사이트 용 API를 만들었습니다. API는 DotNetOpenAuth를 사용하여 OAuth v1을 사용하여 보안 설정되었으며 API로 호출되는 iPhone 앱으로 모든 작업이 정상적으로 처리됩니다. 돌아가서 웹의 관련 부분을 API를 사용하여 evrything이 항상 API를 통과하도록 만들고 싶습니다.웹 사이트를 포함한 모든 것에 WebAPI를 사용하고 있습니까?

내가 웹 사이트 로그인을 API를 통해 수행하고, OAuth 사용자로 웹 사이트를 설정하고, 현재 사용자를위한 OAuth 토큰을 얻으려면 약간 혼란 스럽지만, 웹 사이트 코드는 동일한 상자에서 WebAPI로 http 호출을 만들어 API를 호출하여 내 OAuth 토큰을 전달합니까? (HTTP Auth 헤더에 있음)

모든 호출이 HTTP 호출을 서버 측에 요구하므로 웹 사이트에서 API를 호출하는 것이 상당히 비효율적 인 것처럼 보입니다. 특히 나에게 확장 성이 있다고 들리지는 않습니다. ? 대안을 확신 할 수는 없지만 OAuth를 사용하여 API를 보호하고자합니다.

답변

2

이 좋은 질문입니다 (당신이 명확하게 다른 네트워크 바인딩 홉을 갖는 오버 헤드 실현 이후)오고 유지 :

내가 내 ASP.NET MVC 또는 우회 API에 내 자신의 API를 소비해야합니까를 비즈니스 로직으로 곧장 간다.

blog post (게시물 끝 부분)에서 설명하려고했습니다. 그러나, 짧게 : 에 달려 있습니다. 귀하의 API와 MVC 사이트가 동일한 애플리케이션의 일부인 경우 그들은 게시판에 설명 된대로 프리젠 테이션 레이어 인 것처럼 서로 옆에 앉아 있습니다. 그러나 API가 SOA 서비스의 프리젠 테이션 계층이고 MVC 사이트를 비롯한 여러 클라이언트에서 사용되는 경우 별도로 처리해야합니다.

귀하의 경우 MVC 을 웹 API 인과 나란히 두어 동일한 비즈니스 계층에 액세스하려고합니다. 또한 OAuth 문제가 해결되었다고 생각합니다.

관련 문제