1

我正在为我的应用程序中的表调用ServiceNow Rest API。我允许用户在我的应用程序中输入他们的 servicenow 实例凭据和域 url。

我想知道是否可以进行简单 API 调用以确保输入的凭据有效

目前我正在打电话获取sys_user表并进行检查。

这个电话似乎需要更多时间。我可以在这里使用更简单的 REST URL吗?

public static HttpConnectionResponse checkConnection(String host, String username, String password) {
        String CHECK_URL = "/api/now/table/sys_user";
        HttpConnectionResponse response = new HttpConnectionResponse();
        String completeUrl = "https://"+host+CHECK_URL;
        HashMap<String, String> requestHeaders = ConnectionUtils.getDefaultInputHeader();
        Credential credential = ConnectionUtils.populateCredentials(username, password);
        try{
            response = HttpConnectorClient.getMethod(completeUrl, requestHeaders, credential);
        }
        catch(Exception e){
            e.printStackTrace();
        }
        return response;
    }
4

1 回答 1

2

为什么不直接使用您设置为可供任何经过身份验证的用户访问的任何表或记录,然后使用他们的凭据作为基本身份验证凭据对该资源进行 REST API 调用?如果您获得记录而不是“拒绝访问”,则凭据有效。:-) 您甚至可以为此目的制作一个简单的 UI 页面,或者更好的是一个处理器。

于 2017-09-22T14:43:59.097 回答