Onelogin通过API登录用户无法正常工作

时间:2016-07-11 15:41:02

标签: api onelogin

我使用onelogin REST api将用户登录到:https://developers.onelogin.com/api-docs/1/samples/login-user-via-api

我已成功完成所有步骤,以生成没有问题的会话令牌。

然后文档说会话令牌发布到此网址:https://admin.us.onelogin.com/session_via_api_token

但是,当使用会话令牌发布到该URL的帖子时,它只会将我重定向到onelogin登录页面。

这是帖子的c#代码。我在变量中有一个有效的会话令牌:session_token:

        string url = "https://admin.us.onelogin.com/session_via_api_token";

        StringBuilder postData = new StringBuilder();

        postData.Append("session_token=" + HttpUtility.UrlEncode(session_token) + "&");
        postData.Append("auth_token=" + HttpUtility.UrlEncode(""));

        //ETC for all Form Elements

        // Now to Send Data.
        StreamWriter writer = null;

        request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = postData.ToString().Length;
        try
        {
            writer = new StreamWriter(request.GetRequestStream());
            writer.Write(postData.ToString());
        }
        finally
        {
            if (writer != null)
                writer.Close();
        }

1 个答案:

答案 0 :(得分:1)

这似乎是服务器端代码,因此永远无法成功获得最终用户浏览器的会话。

为了使此流程正常运行,您需要将最终用户的浏览器重定向到https://admin.us.onelogin.com/session_via_api_token网址,只需将auth_token值作为POST参数。

以上所有代码都将允许您的后端服务器获取会话cookie,这无法帮助您的最终用户建立会话。

可在此处找到更多详细信息:https://developers.onelogin.com/api-docs/1/samples/login-user-via-api