2014-06-13 1 views
2

저는 주석 기반 LMS를 만들기 위해 노력하고 있습니다. 이 가이드에 따라 LMS에서 LRS xapi 엔드 포인트로 다시 통신하는 활동에 대한 적절한 쿼리 매개 변수와 함께 활동을 시작합니다.tincan LRS/LMS 론칭 및 OAuth를 사용한 모범 사례

https://github.com/RusticiSoftware/launch/blob/master/lms_lrs.md

우리가 어려움을 겪고있는 것은 들어오는 문의 인증입니다. 현재 우리는 활동이 LMS와 동일한 도메인에 있기 때문에 부정 행위를하고 세션 쿠키 만 사용하지만 외부 활동으로 이동하고자합니다.

나는 tin-can이이 목적을 위해 OAuth 2.0을 선호하지만, 최상의 토큰 교환 흐름이 무엇인지 잘 모르겠습니다. 내 추측이 사용자는

  • 활동 URL이 주석 열립니다 LMS 활동 링크를 클릭

    1. 될 수있는 매개 변수 (배우, 엔드 포인트 등)
    2. 활동은
    3. LRS 토큰 인증을 위해 LRS에 다시 사용자를 리디렉션 인증 토큰과 원래 깡통 매개 변수를 사용하여 활동으로 다시 리디렉션
    4. 액티비티 스왑 액세스 토큰에 대한 인증 토큰
    5. lrs가 액세스 토큰을 액티비티에 반환합니다.
    6. 처음 몇 단계를 중복 주어진 것 같다 그러나
    7. 활동은 우리가 어쨌든 LMS의 /의 LRS에서오고 있다는 것을

    토큰 액세스 할 수있는 권한이 부여 깡통 문을 호출합니다. 그것은 하나에 추천/가능 : 건너 뛰는 URL이 5

  • 시작 에 이미 존재하는 액세스 토큰으로 활동 단계로

    • 시작 에 이미 존재하는 인증 토큰과 함께 활동을 직선으로 건너 뛰는 URL 7 단계

    이 중 하나를 수행하면 필요한 단계가 줄어들지 만 보안 위험이 발생할 수 있습니다.

    생각하십니까?

  • +1

    xapi/tincan은 oauth 1.0a를 사용합니다. https://github.com/adlnet/xAPI-Spec/issues/447 .. 인증 범위를 정의하는 2.0의 범위 속성이 추가되었습니다. https://github.com/ adlnet/xAPI-Spec/blob/master/xAPI.md # requirements-22 –

    답변

    3

    실행 문서는 OAuth를 사용할 때 전달할 인증 매개 변수를 지정하지 않으며 실행중인 활동 공급자가 LMS에 등록 된 경우에만 OAuth에 대해 말합니다 (LMS가 활동을 맡을 시점) OAuth를 통해 인증하고 기본 인증 정보를 전송하지 않음).

    https://github.com/RusticiSoftware/launch/blob/master/lms_lrs.md#oauth

    그래서, 출시하여 OAuth를 사용하는 것이 가능하지만, 출시는 어떤 도움을 제공하지 않습니다. 단순히 사용할 엔드 포인트를 제공하기 만하면 XAPI 스펙 자체를보고 OAUth 엔드 포인트가 기본 LRS 엔드 포인트와 관련되는 위치를 확인해야합니다.

    https://github.com/adlnet/xAPI-Spec/blob/1.0.1/xAPI.md#oauth-endpoints

    은 또한 선택하고 워크 플로를 따라야합니다 :

    https://github.com/adlnet/xAPI-Spec/blob/1.0.1/xAPI.md#64-security 마지막으로

    , 7 단계로 건너 뛰는 것은 보안 관점에서 당신에게 허용 될 경우, 왜 그냥 LMS가 시작 링크에서 전달하는 기본 인증 토큰을 사용 하시겠습니까?

    +0

    기본 인증 토큰에 대한 지침이 있습니까? 나는 그것이 무엇을 의미하는지 또는 그것이 무엇을 위해 쓰여지는지에 관해서는 머리를 쓸 수 없다. – ricick

    +0

    여기에서 별도의 질문으로 질문 : http://stackoverflow.com/questions/24235539/tin-can-launch-auth-parameter – ricick