我正在尝试创建一个需要通过OAuth2进行身份验证的Windows应用商店应用。
首选方式应为WebAuthenticationBroker:
const string url = @"https://my.server.srv/mobile-auth/index.pl?"
+ "client_id=CLIENTID"
+ "&redirect_uri=https%3A%2F%2Fmy.server.srv
+ "&response_type=code"
Uri startUri = new Uri(url);
Uri endUri = new Uri("https://my.server.srv");
WebAuthenticationResult webAuthenticationResult = await WebAuthenticationBroker.AuthenticateAsync(WebAuthenticationOptions.None, startUri, endUri);
if (webAuthenticationResult.ResponseStatus == WebAuthenticationStatus.Success)
{
string token = webAuthenticationResult.ResponseData;
}
但令牌为空。应该有服务器响应,
code=a-secret-code&expires_in=600&token_type=bearer
在GET中传递,它与OAuth2保持联系。
你知道如何获得这些参数吗?
编辑:已解决。它在将“https:// localhost”作为redirect_uri / endUri传递后开始工作。
答案 0 :(得分:0)
我建议您使用像Hammock这样的库。
通常,对于OAuth2,您首先请求获取将与所有后续请求相关联的请求令牌。然后,您可以将该令牌与您的参数一起使用来执行身份验证请求,然后返回您可以执行操作的响应对象。
Flickr可能有关于OAuth流程如何运作的最佳总结说明(有图片!) - http://www.flickr.com/services/api/auth.oauth.html
祝你好运