2016-11-03 6 views
1

우리는 우리의 응용 프로그램 ID (https://auth.company.com)로 호스트 이름을 사용하여 auth 웹 응용 프로그램에서 U2F를 직접 사용하고 있습니다. 그러나 HTTP API를 통해 인증 서버와 통신하는 다른 앱 (및 호스트 이름, 예 : https://customer.app.com)의 인증 서버로 인증 할 수 있기를 바랍니다.다중면 응용 프로그램 ID가있는 U2F

API 호출을 통해 서명 요청 및 무의미 요청을 생성하고 클라이언트 앱으로 반환 할 수 있지만 앱 ID가 유효하지 않기 때문에 서버 측 (인증 서버)이 실패합니다 (클라이언트가 자체 호스트 이름 앱 ID로). 이것은 이해할 수 있지만 어떻게 처리해야합니까? 나는 패싯에 대해 읽었지만 전혀 작동하지 못합니다.

클라이언트 응용 프로그램 JS 같은 것입니다 :

var registerRequests = // ... 
var signRequests = // ... 

u2f.register('http://localhost:3000/facets', registerRequests, signRequests, function(registerResponse) { 
    if (registerResponse.errorCode) { 
    return alert("Registration error: " + registerResponse.errorCode); 
    } 

    // etc. 
}); 

이 잠시 후 나에게 오류 코드 5 (시간 초과 오류)를 제공합니다./facets에 대한 요청이 표시되지 않습니다. 이 문제를 해결할 수있는 방법이 있습니까? 아니면 잘못된 트리 (또는 다른 포리스트)를 짖고 있습니까?

----

좋아,이 연구의 몇 시간 후; APPID의 계획에 http 경우가 있다면 그것은 본질적으로 말하는

if (u.scheme == "http") 
    if (url2str(u, true) == url2str(ou, true)) 
    return resolve(challenge); 
    else 
    return reject("Not matching appID"); 

https://github.com/prefiks/u2f4moz/blob/master/ext/appIdValidator.js#L106-L110

, 만 허용 : 나는 파이어 폭스 U2F 플러그인이 악마 비트 내 불황의 일부 소스입니다 확신 해요 페이지의 호스트와 정확히 동일합니다 (신뢰할 수있는 패싯 JSON을 가져 오는 동작은 https에만 해당).

내가 올바른 길을 가고 있는지 확실하지 않지만 이것을 설계하려고 노력 중입니다.

답변

0

필자는 특정 상황에 대해 걱정할 필요가 없었습니다. 마지막으로 보안 API 인터페이스를 통해 클라이언트 응용 프로그램 호스트 이름을 인증 서버에 전달하고이를 응용 프로그램 ID로 사용합니다. 지금까지 괜찮은 것 같아.

내가 갖고있는 문제는 dev에서 http를 사용하고 JSON 패싯에서 허용하지 않는 Firefox U2F 플러그인 때문이었습니다.