Nodejs를 사용하여 Lync 용 간단한 클라이언트를 만들려고합니다. 자료에 http://ucwa.lync.com/documentation/KeyTasks-CreateApplication 나는 이런 식으로 만들었습니다. 내 앱을 UCWA에 등록해야하는 마지막 단계 # 9까지 작동합니다. 서버는 당신이 찾고있는 리소스에 문제가 있습니다 코드 (500)와 바보 설명UCWA Lync 인증 - 500 웹 티켓이 잘못되었습니다.
로 응답, 그리고
그리고 헤더
X-MS-진단을 표시 할 수 없습니다 ':'28032; 소스 = "MYSOURCE"; 이유 =는 "웹 티켓이 잘못되었습니다." '
var http = require('request-promise');
var lync = {};
lync.setup = function(email, password){
var self = this;
var hostname = email.split('@');
this.username = email;
//discover urls
return http.get('http://lyncdiscover.'+hostname[1])
.then(function(d) {
var parsed = JSON.parse(d);
self.urls = {
self: parsed._links.self.href,
user: parsed._links.user.href,
xframe: parsed._links.xframe.href
};
return http.get(self.urls.user);
}).catch(function(err){
if(err.statusCode == 401){
var toParse = err.response.headers['www-authenticate'];
var Oauth = toParse.match(/https:\/\/[\d\w\./_-]*/i)[0];
var loginPost = {
grant_type: 'password',
username: email,
password: password
};
return http.post(Oauth, {form:loginPost});
}
return false
}).then(function(data){
var parsed = JSON.parse(data);
//setup authorization
http = http.defaults({
headers: {Authorization: parsed.token_type + ' ' + parsed.access_token}
});
//console.log(self.urls.user);
//console.log('Authorization:'+ parsed.token_type + ' ' + parsed.access_token);
return http.get(self.urls.user);
}).then(function(data){
var parsed = JSON.parse(data);
self.urls.applications = parsed._links.applications.href;
var registerApp = {
culture : "en-us",
endpointId : "2d9dc28d-4673-4035-825c-feb64be28e4e",
userAgent : "Test"
};
var r = "{'userAgent': 'NodeJs', 'endpointId' : '2d9dc28d-4673-4035-825c-feb64be28e4e', 'culture': 'en-US'}";
return http.post(self.urls.applications, {body: registerApp, json:true});
})
.then(function(data){
console.log(data);
})
.catch(function(err){
console.log(err);
return false;
});
};
//run app
lync.setup('[email protected]', 'password').then(function(ret){
});
하나의 요점은 여기에 있습니다. 내 서버가 아니야. 저기 계신 계정이있어서 공식 Lync 클라이언트 또는 Pidgin 플러그인으로 로그인 할 수 있습니다. 내 앱이 UCWA와 함께 작동하도록 "허용"하는 몇 가지 추가 단계가 있습니까?
@ShelbyZ Oauth를 사용하면 쉽게 인증 할 수 있습니다. 나는 그래서 로그인하고있어 토큰 인증을 받고있어
내가
"_links"유사 JSON을 수신 해요 :. { "자기": { "HREF": "링크"}, "응용 프로그램"
이제 }} : { "링크" "HREF"}, "xframe을": { "HREF" "이 필요합니다"}. POST를하는 "응용 프로그램 등록"이 필요합니다. 이 마지막 단계에서 나는 500 코드 응답을 얻는다. 그와 관련이 없기를 바랍니다. @ Matthew Proctor가 말했습니다. 서버를 간단하게 관리 할 수 없어서
예를 들어 URL의 도메인 부분 일치하는 응답은 원본 OAuth 토큰이 유효하지 않은 다른 Lync 풀로 리디렉션되는지 확인하는 데 도움이됩니다. 가장 합리적인 방향 인 현재 정보를 기반으로하지만 500 응답을 보는 지점까지 이어지는 네트워크 트래픽이 부족합니다. – ShelbyZ