4
그래서이 코드가
내 질문은 내가 OAuth를 통해 이미 인증 된 경우 UserCredential을 어떻게 구성합니까?이미 액세스 토큰 값이있는 경우 UserCredential 인스턴스를 만드는 방법은 무엇입니까?
현재 시나리오는 코드가 Google로 리디렉션되는 다른 로그인 페이지를 표시한다는 것입니다. 이미 asp.net MVC를 사용하여 OAuth를 통해 인증되었으므로 이미 토큰을 가지고 있는데 GoogleWebAuthorizationBroker을 제거하고 직접 토큰을 전달합니까?
string[] scopes = new string[] {PlusService.Scope.PlusLogin,
PlusService.Scope.UserinfoEmail,
PlusService.Scope.UserinfoProfile};
UserCredential credential =
GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets
{
ClientId = "xxx.apps.googleusercontent.com",
ClientSecret = "xxxx"
},
scopes,
Environment.UserName,
CancellationToken.None,
new FileDataStore("Store")).Result;
PlusService service = new PlusService(new BaseClientService.Initializer()
{
HttpClientInitializer = credential,
ApplicationName = "ArcaneChatV2",
});
PeopleResource.ListRequest listPeople = service.People.List("me", PeopleResource.ListRequest.CollectionEnum.Visible);
listPeople.MaxResults = 10;
PeopleFeed peopleFeed = listPeople.Execute();
var people = new List<Person>();
나는 이런 종류의 물건에 막 새로워졌습니다.
그냥 후속 질문 @Nkosi을 할 수있는 당신은 이미 토큰을 가지고 가정 UserCredential에 새로 고침 토큰을 설정 하시겠습니까? credential.Token.RefreshToken = "[your_access_token_here]"올바른 방법입니까? 계속해서 "액세스 토큰이 만료되었지만 새로 고칠 수 없습니다." –
@PrinceJea. 업데이트 – Nkosi
@PrinceJea를 확인하십시오. 'TokenResponse'를 생성 할 때 새로 고침 토큰을 포함합니다. GoogleAuthorizationCodeFlow는 새로 고침 토큰 및 클라이언트 암호를 기반으로 새로운 액세스 토큰을받습니다. – Nkosi