Summary

The updateLoginBridge() mutation modifies the configuration of an existing login bridge in your organization. You can update the login URL, SAML certificates and entity ID, allowed users and groups, organizational attribute mappings, and terms content. The login bridge must already exist; create one first with setLoginBridge(). To add or remove individual users without replacing the full allowed-user list, call addLoginBridgeAllowedUsers() or removeLoginBridgeAllowedUsers() instead.

Syntax

graphql
updateLoginBridge(
      input: LoginBridgeUpdateInput!
   ): LoginBridge!

The mutation accepts a single required argument, input, of type LoginBridgeUpdateInput!. Within the input, allowedUsers and groups are required; all other fields are optional. The mutation returns a non-null LoginBridge! object representing the updated state.

Input parameters

The input argument accepts fields for updating login bridge settings. The allowedUsers and groups fields are required. All other fields are optional; omitting an optional field leaves its current value unchanged.

Table: LoginBridgeUpdateInput Input Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
additionalAttributesString  Long-Term Any additional attributes.
allowedUsersStringyes Long-Term A list of users allowed to access the bridge.
descriptionString  Long-Term A description of the login bridge to update.
generateUserNameBoolean  Long-Term Whether to generate user names.
groupAttributeString  Long-Term The group attributes.
groupsStringyes Long-Term Any groups associated with the login bridge.
issuerString  Long-Term The issuer to update.
loginUrlString  Long-Term The URL of the login bridge.
nameString  Long-Term The name of the login bridge to update.
organizationIdAttributeNameString  Long-Term The organization's unique identifier of the attribute name.
organizationNameAttributeString  Long-Term The organization's name of the attribute.
privateSamlCertificateString  Long-Term The private SAML certificate.
publicSamlCertificateString  Long-Term The public SAML certificate.
relayStateUrlString  Long-Term The relay state URL.
remoteIdString  Long-Term The remote unique identifier of the login bridge.
samlEntityIdString  Long-Term The unique identifier of the SAML entity.
termsDescriptionString  Long-Term A description of the terms.
termsLinkString  Long-Term A link to the terms and conditions.

Example

Raw
graphql
mutation {
  updateLoginBridge( input: 
    { name: "my-bridge",
      allowedUsers: [ "bob", "ted" ] }
  )
 { name }
}
Mac OS or Linux (curl)
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  updateLoginBridge( input: 
    { name: \"my-bridge\",
      allowedUsers: [ \"bob\", \"ted\" ] }
  )
 { name }
}"
}
EOF
Mac OS or Linux (curl) One-line
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql \
    -H "Authorization: Bearer $TOKEN" \
    -H "Content-Type: application/json" \
    -d @- << EOF
{"query" : "mutation {
  updateLoginBridge( input: 
    { name: \"my-bridge\",
      allowedUsers: [ \"bob\", \"ted\" ] }
  )
 { name }
}"
}
EOF
Windows Cmd and curl
shell
curl -v -X POST $YOUR_LOGSCALE_URL/graphql ^
    -H "Authorization: Bearer $TOKEN" ^
    -H "Content-Type: application/json" ^
    -d @'{"query" : "mutation { ^
  updateLoginBridge( input:  ^
    { name: \"my-bridge\", ^
      allowedUsers: [ \"bob\", \"ted\" ] } ^
  ) ^
 { name } ^
}" ^
} '
Windows Powershell and curl
powershell
curl.exe -X POST 
    -H "Authorization: Bearer $TOKEN"
    -H "Content-Type: application/json"
    -d '{"query" : "mutation {
  updateLoginBridge( input: 
    { name: \"my-bridge\",
      allowedUsers: [ \"bob\", \"ted\" ] }
  )
 { name }
}"
}'
    "$YOUR_LOGSCALE_URL/graphql"
Perl
perl
#!/usr/bin/perl

use HTTP::Request;
use LWP;

my $TOKEN = "TOKEN";

my $uri = '$YOUR_LOGSCALE_URL/graphql';

my $query = "mutation {
  updateLoginBridge( input: 
    { name: \"my-bridge\",
      allowedUsers: [ \"bob\", \"ted\" ] }
  )
 { name }
}";
$query =~ s/\n/ /g;
my $json = sprintf('{"query" : "%s"}',$query);
my $req = HTTP::Request->new("POST", $uri );

$req->header("Authorization" => "Bearer $TOKEN");
$req->header("Content-Type" => "application/json");

$req->content( $json );

my $lwp = LWP::UserAgent->new;

my $result = $lwp->request( $req );

print $result->{"_content"},"\n";
Python
python
#! /usr/local/bin/python3

import requests

url = '$YOUR_LOGSCALE_URL/graphql'
mydata = r'''{"query" : "mutation {
  updateLoginBridge( input: 
    { name: \"my-bridge\",
      allowedUsers: [ \"bob\", \"ted\" ] }
  )
 { name }
}"
}'''

resp = requests.post(url,
                     data = mydata,
                     headers = {
   "Authorization" : "Bearer $TOKEN",
   "Content-Type" : "application/json"
}
)

print(resp.text)
Node.js
javascript
const https = require('https');

const data = JSON.stringify(
    {"query" : "mutation {
  updateLoginBridge( input: 
    { name: \"my-bridge\",
      allowedUsers: [ \"bob\", \"ted\" ] }
  )
 { name }
}"
}
);


const options = {
  hostname: '$YOUR_LOGSCALE_URL',
  path: 'graphql',
  port: 443,
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'Content-Length': data.length,
    Authorization: 'BEARER ' + process.env.TOKEN,
    'User-Agent': 'Node',
  },
};

const req = https.request(options, (res) => {
  let data = '';
  console.log(`statusCode: ${res.statusCode}`);

  res.on('data', (d) => {
    data += d;
  });
  res.on('end', () => {
    console.log(JSON.parse(data).data);
  });
});

req.on('error', (error) => {
  console.error(error);
});

req.write(data);
req.end();
Example Responses
Success (HTTP Response Code 200 OK)
json
{
  "data": {
    "updateLoginBridge": {
      "name": "my-bridge"
    }
  }
}

Returned values

The mutation returns a non-null LoginBridge! object reflecting the updated configuration. The returned fields include the login URL, the public SAML certificate, the SAML entity ID, the relay state URL, and the allowed users and group settings.

Table: LoginBridge Datatype

ParameterTypeRequiredDefaultStabilityAvailabilityDescription
additionalAttributesString  Long-Term Any additional attributes.
allowedUsersUseryes Long-Term A list of users allowed to access the bridge. See User.
anyUserAlreadyLoggedInViaLoginBridgeBooleanyes Long-Term True if any user in this organization has logged in to CrowdStream via LogScale. Requires manage organizations permissions. Whether to generate user names.
descriptionStringyes Long-Term A description of the login bridge.
generateUserNameBooleanyes Long-Term Whether to generate user names.
groupAttributeStringyes Long-Term Any group attributes.
groupsStringyes Long-Term Any groups associated with the login bridge.
issuerStringyes Long-Term The issuer of the login bridge.
loginUrlStringyes Long-Term The URL for logging in.
nameStringyes Long-Term The name of the login bridge.
organizationIdAttributeNameStringyes Long-Term The organization's unique identifier of the attribute name.
organizationNameAttributeNameString  Long-Term The organization's name of the attribute name.
publicSamlCertificateStringyes Long-Term The public SAML certificate.
relayStateUUrlStringyes Long-Term The relay state URL.
remoteIdStringyes Long-Term The unique identifier of the remote connection.
samlEntityIdStringyes Long-Term The unique identifier of the SAML entity.
showTermsAndConditionsBooleanyes Long-Term Whether to show the terms and conditions.
termsDescriptionStringyes Long-Term A description of the terms.
termsLinkStringyes Long-Term A link to the terms and conditions.