1
私はdotnetOpenAuthを使用しています。私は、ユーザーのゲームに権限を要求したいと思います。dotnetOpenAuthでGmailに承認をリクエストしたい
openIdを先に使用する必要がありますか?
まともなtutorailが見つかりません。誰も助けることができますか?
このコードはうまくいっていません。とにかく、私は認証要求でGmailの範囲を求めるように見えるしていないので、私は
public void PrepareAuthorizationRequest(Uri authCallbakUrl)
{
var consumer = new WebConsumer(GoogleConsumerConsts.ServiceDescription, mConsumerTokenManager);
// request access
consumer.Channel.Send(consumer.PrepareRequestUserAuthorization(authCallbakUrl, null, null));
throw new NoRedirectToAuthPageException();
}
public ProcessAuthorizationRequestResponse ProcessAuthorizationRequest()
{
ProcessAuthorizationRequestResponse response;
// Process result from the service provider
var consumer = new WebConsumer(GoogleConsumerConsts.ServiceDescription, mConsumerTokenManager);
var accessTokenResponse = consumer.ProcessUserAuthorization();
// If we didn't have an access token response, this wasn't called by the service provider
if (accessTokenResponse == null)
response = new ProcessAuthorizationRequestResponse
{
IsAuthorized = false
};
else
{
// Extract the access token
string accessToken = accessTokenResponse.AccessToken;
response = new ProcessAuthorizationRequestResponse
{
IsAuthorized = true,
Token = accessToken,
Secret = mConsumerTokenManager.GetTokenSecret(accessToken)
};
}
return response;
}
private string Test2()
{
// Process result from linked in
var google = new WebConsumer(GoogleConsumerConsts.ServiceDescription, mConsumerTokenManager);
// var accessToken = GetAccessTokenForUser();
var accessToken = String.Empty;
// Retrieve the user's profile information
var endpoint = GoogleConsumerConsts.GetGmailFeedsEndpoint;// new MessageReceivingEndpoint("http://api.linkedin.com/v1/people/~", HttpDeliveryMethods.GetRequest);
var request = google.PrepareAuthorizedRequest(endpoint, accessToken);
var response = request.GetResponse();
return (new StreamReader(response.GetResponseStream())).ReadToEnd();
}
openAuthを使用していない場合は、DBに何を保存すればいいですか?永続的かつユニークなrequestTokenですか? 2回目のユーザーのためのフローは何ですか? –
要求トークンまたはアクセストークンは永続的ではありません。あなたが次回のユーザを識別できるようにしたい場合、OpenID *は(実際にGmailを読むためにOAuthに加えて)使用するのに適しています。この場合、 'openidrelyingpartywebforms/loginplusoauth.aspx'サンプルをチェックしてください。このサンプルでは、ユーザーをGoogle *と*でGmailのアドレス帳にアクセスできるようにデモしています。 –
ユーザーは二重リダイレクトを引き起こしますか?一度は認証用に、もう一回は認証用に? –