많은 사용자가있는 앱이 있습니다. 나는 그들의 이메일을 물어보고 싶다고 결심했다. 저는 Azure Mobile App Service를 Microsoft 인증과 함께 사용하고 있습니다. 따라서 wl.basic
및 wl.emails
을 추가했습니다. Microsoft 인증 ID
var claimsPrincipal = User as ClaimsPrincipal;
string email = claimsPrincipal.FindFirst(ClaimTypes.Email).Value;
내가 그러나 내가 또 다른 문제로 실행하기 때문에 위의 시도도 없었어. 문제는 내가 로그인에 더 많은 범위를 추가 할 때 SID가 변화하고 있다는 점이다
var claimsPrincipal = User as ClaimsPrincipal;
string sid = claimsPrincipal.FindFirst(ClaimTypes.NameIdentifier).Value;
: 나는에서 NameIdentifier
하여 사용자 데이터를 저장합니다. 따라서이 문제를 해결할 수있는 식별자를 추출 할 수있는 방법이 있습니까?
좋아, 단지 'WEBSITE_AUTH_HIDE_DEPRECATED_SID'의 App Setting을'true '로 설정하여 버전을 4로 변경하십시오. 이전 sid가 여전히 사용 가능합니까? 그렇다면 문제없이 범위를 변경할 수 있습니다. 그러나 현재의 테스트는 나에게이 문제를주는 것처럼 보인다. 오래된'sid'를 얻기 위해 사용할 수있는 또 다른 ClaimType이 있습니까? – JTIM
이전을 위해이 앱 설정을 지금 추가하지 않는 것이 좋습니다. 대신 "sid"클레임을 기존 ID로 취급 한 다음 stable_sid를 새 ID로 사용하기 시작할 수 있습니다. ID 시스템에 두 값을 모두 저장하면 시간이 지남에 따라 안정된 식별자로 마이그레이션 할 수 있습니다. –
그래, 괜찮아. 그래서 느린 길 밖에 없다. 여분의 스코프를 삽입 할 수없고 어떤 식 으로든 이전 sid를 찾을 수 있습니까? – JTIM