다른 타사 시스템과의 인증을 처리하기 위해 DotNetOpenAuth의 OAuth2 라이브러리를 사용하고 있습니다. 제 3 자 시스템이 AccessToken을 사용하여 응답에서 UserId = "testname"을 반환한다는 것을 제외하면 모두 훌륭합니다.DotNetOpenAuth OAuth2 추가 데이터 액세스
이 타사 API가 API 호출 (예 : 사용자/{userId}/계정)의 일부로 필요하기 때문에 해당 UserId가 필요합니다.
DotNetOpenAuth를 사용하면 AccessToken 응답에 액세스 할 수 없으므로 UserId를 가져올 수 없습니다.
전화 : (_client는 WebServerClient입니다.) var state = _client.ProcessUserAuthorization (request);
주에는 내 AccessToken이 있지만 추가 데이터는 전송되지 않습니다. DotNetOpenAuth 소스 코드에 따라 UserId가 라이브러리 내부에 들어 왔으며 액세스 권한이 없습니다.
어쨌든 DotNetOpenAuth를 사용하여 해당 UserId를 가져올 수 있습니까? 아니면 DotNetOpenAuth를 포기하고 다른 것을 시도해야합니까?
내가 그 일을 생각하지 않습니다를하기 때문에 그 요청 객체 I have는 액세스 토큰 및 사용자 ID가있는 사용자가 아닙니다. 액세스 토큰을 얻는 데 사용 된 코드가있는 것입니다. DNOA 내부에서 Access 토큰에 대한 새로운 요청을하고 요청에 대한 액세스 권한이 없으며 액세스 토큰과 새로 고침 데이터 만 반환합니다. 이 방법으로는 안된다는 데 동의하지만 다른 회사에서 제공하는 서비스를 사용하고 있습니다. – timothymcgrath
맞습니다. 인증 코드 흐름 인 경우 아직 토큰이 없습니다. DNOA가 'ProcessUserAuthorization'을 한 번 호출 할 때 DNOA가 약간의 의미를 갖는 토큰에 대한 요청을 수동으로 발행해야합니다. –