<div class="bs-sidebar col-sm-3 " data-ng-include data-src="resourceUrl + '/partials/realm-menu.html'"></div>
    <div id="content-area" class="col-sm-9" role="main"  data-ng-init="initProvider()">
        <data-kc-navigation data-kc-current="social" data-kc-realm="realm.realm" data-kc-social="realm.social"></data-kc-navigation>
        <h2></h2>
        <div id="content">
            <ol class="breadcrumb">
                <li><a href="#/realms/{{realm.realm}}/identity-provider-settings">Identity Providers</a></li>
                <li class="active">{{identityProvider.alias}} Provider Settings</li>
            </ol>
            <h2 class="pull-left">{{identityProvider.alias}} Provider Settings</h2>
            <p class="subtitle"><span class="required">*</span> Required fields</p>
            <form class="form-horizontal" name="realmForm" novalidate>
                <fieldset>
                    <div class="form-group clearfix">
                        <label class="col-sm-2 control-label" for="redirectUri">Redirect URI</label>
                        <div class="col-sm-8">
                            <input class="form-control" id="redirectUri" type="text" value="{{callbackUrl}}{{identityProvider.alias}}/endpoint" readonly kc-select-action="click">
                        </div>
                        <span tooltip-placement="right" tooltip="The redirect uri to use when configuring the identity provider" class="fa fa-info-circle"></span>
                    </div>
                </fieldset>
                <fieldset>
                    <div class="form-group clearfix">
                        <label class="col-sm-2 control-label" for="identifier">Alias <span class="required">*</span></label>
                        <div class="col-sm-4">
                            <input class="form-control" id="identifier" type="text" ng-model="identityProvider.alias" data-ng-readonly="!newIdentityProvider" required>
                        </div>
                        <span tooltip-placement="right" tooltip="The alias unique identifies an identity provider and it is also used to build the redirect uri." class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label" for="enabled">Enabled</label>
                        <div class="col-sm-4">
                            <input ng-model="identityProvider.enabled" id="enabled" onoffswitch />
                        </div>
                        <span tooltip-placement="right" tooltip="Enable/disable this identity provider." class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label" for="authenticateByDefault">Authenticate By Default</label>
                        <div class="col-sm-4">
                            <input ng-model="identityProvider.authenticateByDefault" name="identityProvider.authenticateByDefault" id="authenticateByDefault" onoffswitch />
                        </div>
                        <span tooltip-placement="right" tooltip="Indicates if this provider should be tried by default for authentication even before displaying login screen" class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label" for="storeToken">Store Tokens</label>
                        <div class="col-sm-4">
                            <input ng-model="identityProvider.storeToken" id="storeToken" onoffswitch />
                        </div>
                        <span tooltip-placement="right" tooltip="Enable/disable if tokens must be stored after authenticating users." class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label" for="storedTokensReadable">Stored Tokens Readable</label>
                        <div class="col-sm-4">
                            <input ng-model="identityProvider.addReadTokenRoleOnCreate" id="storedTokensReadable" onoffswitch />
                        </div>
                        <span tooltip-placement="right" tooltip="Enable/disable new users can read any stored tokens.  This assigns the broker.read-token role." class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label" for="updateProfileFirstLogin">Update Profile on First Login</label>
                        <div class="col-sm-4">
                            <input ng-model="identityProvider.updateProfileFirstLogin" name="identityProvider.updateProfileFirstLogin" id="updateProfileFirstLogin" onoffswitch />
                        </div>
                        <span tooltip-placement="right" tooltip="Indicates if user must update his profile right after the first login." class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label" for="guiOrder">GUI order</label>
                        <div class="col-sm-4">
                            <input class="form-control" id="guiOrder" type="text" ng-model="identityProvider.config.guiOrder">
                        </div>
                        <span tooltip-placement="right" tooltip="Number defining order of the provider in GUI (eg. on Login page)." class="fa fa-info-circle"></span>
                    </div>
                </fieldset>
                <fieldset>
                    <legend uncollapsed><span class="text">OpenID Connect Config</span> <span tooltip-placement="right" tooltip="OIDC SP and external IDP configuration." class="fa fa-info-circle"></span></legend>
                    <div class="form-group clearfix">
                        <label class="col-sm-2 control-label" for="authorizationUrl">Authorization Url <span class="required">*</span></label>
                        <div class="col-sm-4">
                            <input class="form-control" id="authorizationUrl" type="text" ng-model="identityProvider.config.authorizationUrl" required>
                        </div>
                        <span tooltip-placement="right" tooltip="The Authorization Url." class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group clearfix">
                        <label class="col-sm-2 control-label" for="tokenUrl">Token Url <span class="required">*</span></label>
                        <div class="col-sm-4">
                            <input class="form-control" id="tokenUrl" type="text" ng-model="identityProvider.config.tokenUrl" required>
                        </div>
                        <span tooltip-placement="right" tooltip="The Token Url." class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group clearfix">
                        <label class="col-sm-2 control-label" for="userInfoUrl">Logout Url</label>
                        <div class="col-sm-4">
                            <input class="form-control" id="logoutUrl" type="text" ng-model="identityProvider.config.logoutUrl">
                        </div>
                        <span tooltip-placement="right" tooltip="End session endpoint to use to logout user from external IDP." class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label" for="backchannelSupported">Backchannel Logout</label>
                        <div class="col-sm-4">
                            <input ng-model="identityProvider.config.backchannelSupported" id="backchannelSupported" value="'true'" onoffswitchvalue />
                        </div>
                        <span tooltip-placement="right" tooltip="Does the external IDP support backchannel logout?" class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group clearfix">
                        <label class="col-sm-2 control-label" for="userInfoUrl">User Info Url</label>
                        <div class="col-sm-4">
                            <input class="form-control" id="userInfoUrl" type="text" ng-model="identityProvider.config.userInfoUrl">
                        </div>
                        <span tooltip-placement="right" tooltip="The User Info Url.  This is optional." class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group clearfix">
                        <label class="col-sm-2 control-label" for="clientId">Client ID <span class="required">*</span></label>
                        <div class="col-sm-4">
                            <input class="form-control" id="clientId" type="text" ng-model="identityProvider.config.clientId" required>
                        </div>
                        <span tooltip-placement="right" tooltip="The client or client identifier registered withing the identity provider." class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group clearfix">
                        <label class="col-sm-2 control-label" for="clientSecret">Client Secret <span class="required">*</span></label>
                        <div class="col-sm-4">
                            <input class="form-control" id="clientSecret" type="password" ng-model="identityProvider.config.clientSecret" ng-show="hidePassword" required>
                            <input class="form-control" id="clientSecret" type="text" ng-model="identityProvider.config.clientSecret" ng-show="!hidePassword" required>
                            <a href="" ng-click="showPassword(false)" class="link" ng-show="hidePassword">Show Secret</a>
                            <a href="" ng-click="showPassword(true);" ng-show="!hidePassword">Hide Secret</a>
                        </div>
                        <span tooltip-placement="right" tooltip="The client or client secret registered withing the identity provider." class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group clearfix">
                        <label class="col-sm-2 control-label" for="issuer">Issuer </label>
                        <div class="col-sm-4">
                            <input class="form-control" id="issuer" type="text" ng-model="identityProvider.config.issuer">
                        </div>
                        <span tooltip-placement="right" tooltip="The issuer identifier for the issuer of the response. If not provided, no validation will be performed." class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group clearfix">
                        <label class="col-sm-2 control-label" for="defaultScope">Default Scopes </label>
                        <div class="col-sm-4">
                            <input class="form-control" id="defaultScope" type="text" ng-model="identityProvider.config.defaultScope">
                        </div>
                        <span tooltip-placement="right" tooltip="The scopes to be sent when asking for authorization. It can be a space-separated list of scopes. Defaults to 'openid'." class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label" for="prompt">Prompt</label>
                        <div class="col-sm-4">
                            <div class="select-kc">
                                <select id="prompt" ng-model="identityProvider.config.prompt">
                                    <option value="">unspecified</option>
                                    <option value="none">none</option>
                                    <option>consent</option>
                                    <option>login</option>
                                    <option>select_account</option>
                                </select>
                            </div>
                        </div>
                        <span tooltip-placement="right" tooltip="Specifies whether the Authorization Server prompts the End-User for reauthentication and consent." class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group">
                        <label class="col-sm-2 control-label" for="validateSignature">Validate Signatures</label>
                        <div class="col-sm-4">
                            <input ng-model="identityProvider.config.validateSignature" id="validateSignature" value="'true'" onoffswitchvalue />
                        </div>
                        <span tooltip-placement="right" tooltip="Enable/disable signature validation of external IDP signatures." class="fa fa-info-circle"></span>
                    </div>
                    <div class="form-group clearfix" data-ng-show="identityProvider.config.validateSignature == 'true'">
                        <label class="col-sm-2 control-label" for="publicKeySignatureVerifier">Validating Public Key</label>
                        <div class="col-sm-4">
                            <textarea class="form-control" id="publicKeySignatureVerifier" ng-model="identityProvider.config.publicKeySignatureVerifier"/>
                        </div>
                        <span tooltip-placement="right" tooltip="The public key in PEM format that must be used to verify external IDP signatures." class="fa fa-info-circle"></span>
                    </div>
                </fieldset>
                <fieldset data-ng-show="newIdentityProvider">
                    <legend uncollapsed><span class="text">Import External IDP Config</span> <span tooltip-placement="right" tooltip="Allows you to load external IDP metadata from a config file or to download it from a URL." class="fa fa-info-circle"></span></legend>
                    <div class="form-group" data-ng-show="newIdentityProvider">
                        <label class="col-sm-2 control-label" for="fromUrl">Import From Url</label>
                        <div class="col-sm-4">
                            <input class="form-control" id="fromUrl" type="text" ng-model="fromUrl.data">
                        </div>
                        <span tooltip-placement="right" tooltip="Import metadata from a remote IDP discovery descriptor." class="fa fa-info-circle"></span>
                        <div class="col-sm-4" data-ng-show="importUrl">
                            <button type="submit" data-ng-click="importFrom()" data-ng-show="importUrl" class="btn btn-primary">Import</button>
                        </div>
                    </div>
                    <div class="form-group" data-ng-show="newIdentityProvider">
                        <label class="col-sm-2 control-label">Import From File</label>
                        <div class="col-sm-4">
                            <div class="controls kc-button-input-file" data-ng-show="!files || files.length == 0">
                                <a href="#" class="btn btn-default"><span class="kc-icon-upload">Icon: Upload</span>Choose a File...</a>
                                <input id="import-file" type="file" class="transparent" ng-file-select="onFileSelect($files)">
                            </div>
                        <span class="kc-uploaded-file" data-ng-show="files.length > 0">
                            {{files[0].name}}
                        </span>
                        <span tooltip-placement="right" tooltip="Import metadata from a downloaded IDP discovery descriptor." class="fa fa-info-circle"></span>
                        </div>
                        <div class="col-sm-4" data-ng-show="importFile">
                            <button type="submit" data-ng-click="uploadFile()" data-ng-show="importFile" class="btn btn-primary">Import</button>
                        </div>
                    </div>
                </fieldset>

                <div class="pull-right form-actions">
                    <a data-ng-show="!newIdentityProvider" class="btn btn-lg btn-primary" href="#/realms/{{realm.realm}}/identity-provider-mappers/{{identityProvider.alias}}/mappers">Mappers</a>
                    <button kc-save data-ng-show="changed">Save</button>
                    <button type="submit" data-ng-click="cancel()" data-ng-show="changed" class="btn btn-lg btn-default">Cancel</button>
                    <button kc-delete data-ng-click="remove()" data-ng-show="!newIdentityProvider">Delete</button>
                </div>
            </form>
        </div>
    </div>
</div>