2011-09-06 2 views
1

그래서 레일즈 3에 Devise를 인증 메커니즘으로 사용하는 응용 프로그램을 만들고 있습니다. 나는 나의 모든 컨트롤러와 견해를 가지고있다. 우리의 웹 사이트는 윙윙 거리고 있습니다. 이제 우리의 경로를 타사 개발자에게 보내고 싶습니다. 문제는 방법입니다.Rails 3 REST 서비스에 대한 공개 문서는 어떻게 생성합니까?

다음은 내가 알아야 할 것들의 목록입니다.

  1. 타사 인증. 나는 내가해야 할 일을 머리 속에서 똑바로하려고 노력하고있다. 기존 사용자 기반이 있으며 Devise 인증 모델을 사용하여 모든 사용자에 대해 토큰이 생성되었습니다. 이제 저는 어떤 종류의 보안을 제공해야합니다. 나의 현재 생각은 개인 키를 관리하기 위해 OAuth Provider를 설정 한 다음 제 3 자 개발자가 액세스 할 수있는 응용 프로그램 중 하나로 웹 응용 프로그램을 설정하는 것입니다. 그것이 올바른 사고 방식입니까 아니면 과도한 엔지니어링입니까?

  2. 우리의 REST 엔드 포인트에 대한 공개 문서를 생성하십시오. 레이크 루트는 내부 개발자들에게 좋지만, 정말 우리가 swagger-ui 라인을 따라 더 많은 것을 필요로한다고 생각합니다. 문제는 레일이 swagger-ui에 적절한 json/xml 호출을 생성하지 않는다는 것입니다. 나는 진정한 REST 서비스에서 이것이 필요하다는 것을 이해한다. 리소스 목록 및 리소스에 대한 작업 목록과 같은.

미리 알려 주셔서 감사합니다.이 경기장에서 저를 보내 주셔서 감사합니다!

+0

https://github.com/richhollis/swagger-docs – nycynik

답변

0

사용자에게 보안 요소가있는 경우 OAuth를 적극 권장합니다. 즉, 누군가가 자신의 서비스를 통해 여러 사용자 세부 정보를 편집 한 다음 3-legged OAuth (공급자, 사용자, 클라이언트)를 사용하기를 원합니다. 그렇지 않으면 2-legged OAuth (Provider, Client)로 이동하십시오.

3-legged OAuth API를 구현하려면 here을 사용할 수있는 자습서를 작성하십시오. Devise 및 Oauth2를 사용합니다.

설명서에 관해서는 도구에 의존하는 대신 사용자 지정 설명서를 작성하는 것이 좋습니다. 트위터는 잘 문서화 된 API를 가지고 있으며, 필자가 작성한 RESTful API의 기초로 사용한다.

+0

가이드가 도움이됩니다. 한 가지 확실하지 않은 것은 "oauthenticate : interactive => false"입니다. oauth가 필요한 모든 것을 원하는대로 application_controller에 넣으려고했으나 인식하지 못합니다. 내 웹 앱이 로그인을 사용하여 API와 대화하기 때문에 로그인 또는 OAuth를 허용하려고합니다. – Altonymous

+0

대화 형을 true로 설정하면 API 및 로그인 액세스가 허용되어야합니다. – Gazler

+0

그게 내가 한거야. 모든 것은 "일하는 것처럼 보입니다". 우리의 품질 보증이 약간의 자유로운주기를 얻었을 때 몇 가지 테스트를하려고합니다. 이것은 내가 미리 예정하고 있던 부수 프로젝트였습니다. Gazler에게 감사드립니다. 나는 당신에게 신용을 제공하고 있지만, 우리의 검사자가 문제를 발견하면 알려주 겠어! – Altonymous

4

저는 Swagger에 대해 편견이 있습니다 (저는 Wordnik에서 작업합니다). 우리가 스칼라와 같이 자동으로 설명 레이어를 생성하기 위해 루비 서버 지원을 추가 할 것이라고 지적 할 것입니다.

+0

더 빠르면 빠를수록 좋습니다. 실제로해야 할 일은 리소스를 생성하는 몇 가지 방법이며 작업 응답과 swagger-ui가 작동해야한다는 것입니다. – Altonymous

+0

이 부분에 대한 업데이트를 보지 못했습니다 ... 어떻게 일이 진행되고 있습니까? – Altonymous

+0

@Altonymous 저는 루비 API 주석 지원을하고 있습니다. 트위터에서 swagger_doc을 팔로우하면 해당 내용이 업데이트됩니다. – Zeke

관련 문제