2014-08-29 3 views
0

.NET (MVC5 마법사로 만든 표준 MVC5 웹 앱)에서 IMAP XOAUTH2 인증을 사용하는 방법을 배우고 있습니다.ASP.NET에서 Google 액세스 토큰을 얻는 가장 좋은 방법 MVC5 OWIN

나는 XOAUTH2 IMAP 키를 생성 할 access_token을 제외하고 모든 부분을 가지고있다. (애플리케이션 인증, 토큰은 필요하다면 새로 고쳐지고, XOAUTH2 IMAP 키를 만들고 access_token이 가능할 때 IMAP 로그인을하는 법을 안다.). 그 토큰이 필요해.

어떻게 할 수있는 아이디어가 있지만 바보 같은 짓을하지 않도록해야합니다. 예를 들어, context.Identity.AddClaim과 같은 것을 사용할 수 있다고 생각합니다. ConfigureAuth를 사용하여 access_token을 ID로 변경 한 다음 다른 페이지에서 IMAP 로그인을 수행 할 때이 정보를 사용할 수 있는지 확인하지 못합니다. .

어쩌면 코드에서 임의의 위치에있는 access_token에 수동으로 액세스 할 수 있습니다 (중복 될 수 있으며 OWIN 및 MVC5에서 숙련 된 리더를 찾지 못할 수도 있음). SMTP/IMAP 용 .net 구성 요소를 개발합니다. MVC5 전문가가 아니므로 IMAP lib를 사용하는 간단한 예제를 작성해야합니다.

+0

를 내가 얻을 수있을 것이다 그래야, 나는 기본 저장하여 access_token은 어디에 ASP.NET/OWIN을 알고 싶어 이 데이터의 사본을 만드는 대신 동일한 위치에서 가져옵니다. – Alex

답변

0

ASP.NET에서 액세스/새로 고침 토큰 세부 정보를 저장하는 것처럼 보입니다. Identity 데이터베이스는 암호화 된 쿠키에 저장되어 있음에도 불구하고 어쨌든 의미가 있습니다. 이렇게하면 브라우저를 사용할 수없는 경우에도 액세스 토큰 데이터에 액세스 할 수 있습니다. 예를 들어 누군가가 웹 앱에 Google 및 Microsoft 계정으로 등록한 다음 다른 앱 (예 : Windows 서비스)이 웹 앱이 처음 검색 한 액세스 토큰을 사용하여 사용자의 계정에 액세스하는 경우 (새 이메일 또는 기타 항목을 확인하는 경우)).

또한 (ASP.NET ID 데이터베이스와 쿠키에서) 액세스 토큰 세부 정보의 두 버전을 동기화 상태로 유지할 수 있습니다. 액세스 토큰이 새로 고침 토큰으로 업데이트되면 매 시간마다 업데이트 토큰을 업데이트해야하므로 유용합니다. 표준 ASP.NET MVC5 앱은 액세스 액세스 토큰을 새로 고칠 수 없으므로 자체 코드로 새로 고쳐야합니다. 새로 고침 토큰을 사용하여 ASP.NET MVC5 템플릿을 확장하고 ASP.NET ID 데이터베이스에 액세스/새로 고침 토큰을 저장하고 쿠키의 액세스 토큰을 업데이트하여 두 위치의 액세스 토큰이 일치하는지 확인했습니다. 관심있는 사람들, 당신은에서 일부 코드와 설명을 잡을 수 있다면

은 : 간단하게 유지하기 위해 http://www.afterlogic.com/mailbee-net/docs/OAuth2RegularAccountsWebApps.html#SyncingTokens

관련 문제