0

我无法让 RPX auth_info API 调用工作。它不断返回错误:“缺少参数:apiKey”我正在使用他们的 Wiki 上提供的 C# RPX Helper Class:RPX Helper Class

下面是我的 Page_Load 方法中的代码。RPX 服务通过向我指定的 Url 发送 POST 来工作。我的代码从下面显示的帖子数据中获取令牌。然后我调用 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”值对被添加到写入请求流的发布数据中。有没有人有这个运气?任何想法为什么这不起作用?谢谢。

4

2 回答 2

0

RPX 示例代码不是很清楚。调用 ApiCall 方法时出现 404 错误。

Javascript:

janrain.settings.tokenUrl = 'http://mydomain/Test.ashx';

测试.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]);
        }
    }
于 2012-04-02T21:32:43.270 回答
0

找到其他人的答案。示例代码是垃圾。

您需要将基本 url 设置为https://rpxnow.com - 提供的代码是错误的。我可以发布提供的 url,但它必须通过 HTTP S而不是 HTTP

于 2010-03-31T10:31:24.307 回答