我正在尝试编写一个程序,以编程方式将用户登录到ArcGIS门户。ArcGIS门户 - 在没有提示的代码中登录
这里是我的方案:在应用一个
用户登录,用户点击链接到ArcGIS门户网站 - 我不希望他们有登录到门户网站,当他们点击该链接,因为已经登录到应用A.
SO
我想:在向应用程序A
用户登录,用户点击含有门户链路作为参数的按钮以及重定向到应用B.应用B将记录ü ser进入门户并使用应用程序A的链接重定向它们 - 用户将被重定向而不会被提示登录。
门户是利用门户级验证,我使用JavaScript,但我还可以使用.NET/C#
UPDATE:
我目前的解决办法是这样的:
var url = "https://PORTAL_DOMAIN/portal/sharing/rest/generateToken";
var redirect = "https://PORTAL_DOMAIN/portal/home/webmap/PLACE_I_WANT_TO_REDIRECT_TO";
var params = {
'username': "username",
'password': "password",
'client': "referer",
'referer': redirect,
'expiration': 60,
'f': 'json'
};
$.post(url, params)
.done(function (data) {
var tokenHolder = JSON.parse(data);
var token = tokenHolder.token;
$('body').append(token);
document.cookie("esri_auth", token);
window.location = redirect;
});
这代码从其他服务中获得一个令牌 - 我尝试存储它有一个cookie,但它不会持续。
我也使用C#Web请求和凭据缓存生成凭证尝试,但我没有保存我使用的代码。
你尝试过这么远吗?堆栈溢出不是一种编码服务。在其他人愿意帮助之前,你必须尽最大努力解决自己的问题。请查看如何创建一个[最小,完整和可验证的示例](https://stackoverflow.com/help/mcve) – dparoli
对不起 - 我一直在为此工作了一个月,并厌倦了多个解决方案都不工作。我会发布我的代码。 –
交叉发布为http://gis.stackexchange.com/q/235109/115 – PolyGeo