我无法让RPX auth_info API调用工作。它不断返回错误:“缺少参数:apiKey”我正在使用他们的Wiki上提供的C#RPX助手类:RPX Helper Class
以下是我的Page_Load方法中的代码。 RPX服务的工作原理是将POST发送到我指定的Url。我的代码从下面显示的帖子数据中获取令牌。然后我调用AuthInfo API方法。
string token = Request.Params["token"];
string apiKey = "xxxxxxxxxxxxxxx"; //my API key
Rpx rpx = new Rpx(apiKey, "http://rpxnow.com");
XmlElement xmlElement = rpx.AuthInfo(token);
一切看起来都不错。令牌已填充。在其代码中,“apiKey”值对被添加到写入请求流的后期数据中。有人有运气吗?任何想法为什么这不起作用?感谢。
答案 0 :(得分:0)
为其他人寻找答案。示例代码是垃圾。
您需要将基本网址设置为https://rpxnow.com - 提供的代码错误。我可以发布提供的网址,但必须通过HTTP S 而不是HTTP
答案 1 :(得分:0)
RPX示例代码不是很清楚。在调用ApiCall方法时,我收到了404错误。
使用Javascript:
janrain.settings.tokenUrl = 'http://mydomain/Test.ashx';
Test.ashx
public void ProcessRequest(HttpContext context) {
using (StreamWriter writer = new StreamWriter(context.Server.MapPath("/test.txt"))) {
var token = context.Request.Form["token"];
writer.WriteLine("Token: " + token);
try {
var rpx = new Rpx("my_id", "https://rpxnow.com/");
var authInfo = rpx.AuthInfo(token);
var doc = XDocument.Load(new XmlNodeReader(authInfo));
writer.WriteLine(doc.Root.Descendants("displayName").First().Value);
writer.WriteLine(doc.Root.Descendants("identifier").First().Value);
}
catch (Exception ex) {
writer.WriteLine("Error: " + ex.Message);
}
foreach (string header in context.Request.Headers)
writer.WriteLine(header + " - " + context.Request.Headers[header]);
}
}