OBP-API/obp-api/src/main/webapp/consumer-registration.html

259 lines
13 KiB
HTML

<!--
Open Bank Project - API
Copyright (C) 2011-2017, TESOBE GmbH
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
Email: contact@tesobe.com
TESOBE GmbH
Osloerstrasse 16/17
Berlin 13359, Germany
This product includes software developed at
TESOBE (http://www.tesobe.com/)
by
Simon Redfern : simon AT tesobe DOT com
Sebastian Henschel : sebastian AT tesobe DOT com
-->
<div id="register-consumer" data-lift="surround?with=default;at=content" tabindex="-1">
<div data-lift="ConsumerRegistration.registerForm">
<div id="register-consumer-input" tabindex="-1">
<div id="register-consumer-explanation">
<h1>Register your consumer</h1>
<p>Please complete the information about your application below, so we can create your OAuth consumer key and secret.</p>
<p>All fields are required unless marked as 'optional'</p>
</div>
<!-- <div id="register-consumer-errors" class="alert alert-danger">-->
<!-- <div class="error">-->
<!-- <span class="errorContent"></span>-->
<!-- </div>-->
<!-- </div>-->
<form method="post">
<div class="row">
<div class="col-xs-12 col-sm-12">
<div class="form-group" id="app-type-div">
<label for="appType" id="appTypeLabel">Application type</label>
<select name="app-type" id="appType" class="form-control js-example-basic-single">
<option class="app-type-option"></option>
</select>
</div>
<div class="form-group">
<label for="appName">Application name</label>
<input type="text" name="app-name" id="appName" class="form-control" aria-describedby="consumer-registration-app-name-error">
<div id = "consumer-registration-app-name-error-div" class="hide">
<span data-lift="Msg?id=consumer-registration-app-name-error"/>
</div>
</div>
<div class="form-group">
<label for="appRedirectUrl" id="redirect_url_label">Redirect URL (Optional)</label>
<img src="/media/icons/info-square.svg" alt="i" style="padding-left: 5px;" width="16" height="16" data-toggle="tooltip" data-placement="right" title="For use in OAuth flows: This is the URL served by your App that the OBP authorisation server will redirect to with an authorization code or access token as parameters in the URL following successful authorisation.">
<input type="text" name="app-redirect-url" id="appRedirectUrl" class="form-control" aria-describedby="consumer-registration-app-redirect-url-error">
<div id = "consumer-registration-app-redirect-url-error-div" class="hide">
<span data-lift="Msg?id=consumer-registration-app-redirect-url-error"/>
</div>
</div>
<div class="form-group">
<label for="appDev">Developer email</label>
<input type="text" name="app-developer" id="appDev" class="form-control" aria-describedby="consumer-registration-app-developer-error">
<div id = "consumer-registration-app-developer-error-div" class="hide">
<span data-lift="Msg?id=consumer-registration-app-developer-error"/>
</div>
</div>
<div class="form-group">
<label for="appDesc">Description of the application</label>
<textarea rows="4" name="app-description" id="appDesc" class="form-control" aria-describedby="consumer-registration-app-description-error"></textarea>
<div id = "consumer-registration-app-description-error-div" class="hide">
<span data-lift="Msg?id=consumer-registration-app-description-error"/>
</div>
</div>
<div class="form-group">
<label for="company">Company</label>
<input type="text" name="app-company" id="company" class="form-control" aria-describedby="consumer-registration-app-company-error">
<div id = "consumer-registration-app-company-error-div" class="hide">
<span data-lift="Msg?id=consumer-registration-app-company-error"/>
</div>
</div>
</div>
</div>
<div class="row oauth2_fields">
<hr>
<h2 style="text-align: center">OAuth2 related:</h2>
<div class="col-xs-12 col-sm-12">
<div class="form-group">
<label for="app-signing_alg" id="request_signing_alg">signing_alg,
<a role="button" data-toggle="collapse" href="#collapse_signing_alg" aria-expanded="false" aria-controls="collapse_signing_alg">
help
</a>
</label>
<div class="collapse" id="collapse_signing_alg">
<div class="well">
The signing algorithm name of request object and client_assertion.
Reference <a target="_blank" href="https://openid.net/specs/openid-connect-core-1_0.html#RequestObject" rel="noopener">6.1. Passing a Request Object by Value</a>
and <a target="_blank" href="https://openid.net/specs/openid-connect-core-1_0.html#ClientAuthentication" rel="noopener">9. Client Authentication</a>
</div>
</div>
<select name="app-signing_alg" id="app-signing_alg" class="form-control js-example-basic-single">
<option value="">none</option>
<option value="RS256">RS256</option>
<option value="ES256">ES256</option>
</select>
</div>
<div class="form-group">
<label for="app-request_uri" id="request_uri_label">
request_uri (Optional), <a href="https://openid.net/specs/openid-connect-core-1_0.html#RequestUriParameter" target="_blank" rel="noopener">reference</a>
</label>
<input type="url" name="app-request_uri" id="app-request_uri" class="form-control">
<div id = "consumer-registration-app-request_uri-error-div" class="hide">
<span data-lift="Msg?id=consumer-registration-app-request_uri-error"/>
</div>
</div>
<div class="form-group">
<label for="app-jwks_uri" id="request_jwks_uri">
jwks_uri (Optional), <a href="https://openid.net/specs/openid-connect-core-1_0.html#RotateSigKeys" target="_blank" rel="noopener">reference</a>
</label>
<input type="url" name="app-jwks_uri" id="app-jwks_uri" class="form-control">
</div>
<div class="form-group">
<label for="app-jwks">jwks (Optional),
<a role="button" data-toggle="collapse" href="#collapse_jwks" aria-expanded="false" aria-controls="collapse_jwks">
help
</a>
</label>
<div class="collapse" id="collapse_jwks">
<div class="well">
Content of <strong>jwks_uri</strong>. <strong>jwks_uri</strong> and <strong>jwks</strong> should not both have value at the same time.
Reference <a target="_blank" href="https://openid.net/specs/openid-connect-core-1_0.html#RotateSigKeys" rel="noopener">10.1.1. Rotation of Asymmetric Signing Keys</a>
</div>
</div>
<textarea rows="4" name="app-jwks" id="app-jwks" class="form-control" placeholder="Content of jwks"></textarea>
<div id = "consumer-registration-app-signing_jwks-div" class="hide alert alert-danger">
<span data-lift="Msg?id=consumer-registration-app-signing_jwks-error"/>
</div>
</div>
<div class="form-group">
<label for="app-client_certificate">MTLS Client certificate (Optional)</label>
<textarea rows="4" name="app-client_certificate" id="app-client_certificate" class="form-control" placeholder="Whole content of crt file"></textarea>
<div id = "consumer-registration-app-client_certificate-error-div" class="hide alert alert-danger">
<span data-lift="Msg?id=consumer-registration-app-client_certificate-error"/>
</div>
</div>
<div class="form-group">
<input type="checkbox" class="form-check-input" id="oidc_checkbox">
<label class="marketing-info-label" for="oidc_checkbox">OpenID Connect Client</label>
</div>
</div>
</div>
<input type="submit" value="Submit" class="btn btn-danger" aria-describedby="register-consumer-errors"/>
<div id = "register-consumer-errors-div" class="hide">
<span data-lift="Msg?id=register-consumer-errors"/>
</div>
</form>
</div>
<div id="register-consumer-success" tabindex="-1">
<h1>Register your consumer</h1>
<div id="register-consumer-success-message">
<p>Thanks for registering your consumer with the Open Bank API! Here is your developer information. Please save it in a secure location.</p>
</div>
<br>
<p>Please save it in a secure location.</p>
<div style="cursor:pointer;text-align: right;" title="">
<div class="fa-solid fa-copy" onclick="copyConsumerRegistrationResultToClipboard(this)" id="register-consumer-success-copy-icon" title=""></div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-4">Consumer ID: </div>
<div class="col-xs-12 col-sm-8"><span id="app-consumer_id">123</span></div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-4">Application Type: </div>
<div class="col-xs-12 col-sm-8"><span id="app-type">web</span></div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-4">Application Name: </div>
<div class="col-xs-12 col-sm-8"><span id="app-name">ABC</span></div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-4">User redirect URL: </div>
<div class="col-xs-12 col-sm-8"><span id="app-redirect-url">ABC</span></div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-4">Developer Email: </div>
<div class="col-xs-12 col-sm-8"><span id="app-developer">abc@example.com</span></div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-4">App Description: </div>
<div class="col-xs-12 col-sm-8"><span id="app-description">ABCDEF</span></div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-4">Client certificate: </div>
<div class="col-xs-12 col-sm-8">
<span id="client_certificate" style="overflow-wrap: anywhere">ABCDEF</span>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-4">Consumer Key: </div>
<div class="col-xs-12 col-sm-8"><span id="auth-key">23432432432432</span></div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-4">Consumer Secret: </div>
<div class="col-xs-12 col-sm-8"><span id="secret-key">3334543543543</span></div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-4">OAuth 1.0a Endpoint: </div>
<div class="col-xs-12 col-sm-8"><span id="oauth-endpoint"><a href="#">endpoint</a></span></div>
</div>
<div class="row" data-lift="WebUI.oauth1aLoginDocLink">
<div class="col-xs-12 col-sm-4">OAuth 1.0a Documentation: </div>
<div class="col-xs-12 col-sm-8"><a id="oauth1a-doc-link" href="https://github.com/OpenBankProject/OBP-API/wiki/OAuth-1.0-Server" target="_blank">How to use OAuth for OpenBankProject</a></div>
</div>
<div class="row" id="dummy-user-tokens">
<div class="col-xs-12 col-sm-4">Dummy Users' Direct Login Tokens: </div>
<div class="col-xs-12 col-sm-8"><span id="create-directlogin"><a target="_blank" href="#" rel="noopener">Get dummy users' token</a></span></div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-4">Direct Login Endpoint: </div>
<div class="col-xs-12 col-sm-8"><span id="directlogin-endpoint"><a href="#">endpoint</a></span></div>
</div>
<div class="row" data-lift="WebUI.directLoginDocLink">
<div class="col-xs-12 col-sm-4">Direct Login Documentation: </div>
<div class="col-xs-12 col-sm-8"><a id="direct-login-doc-link" href="https://github.com/OpenBankProject/OBP-API/wiki/Direct-Login" target="_blank">How to use Direct Login</a>
</div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-4"></div>
<div class="col-xs-12 col-sm-8"><span id="post-consumer-registration-more-info-link"><a href="#"></a></span></div>
</div>
<div class="row">
<div class="col-xs-12 col-sm-4" id="hydra-client-info-title">OAuth2: </div>
<div class="col-xs-12 col-sm-8">
<span id="hydra-client-info" style="overflow-wrap: anywhere">
oauth2.client_id=<span id="client_id">auth-code-client</span><br>
oauth2.redirect_uri=<span id="redirect_uri">http://127.0.0.1:8081/main.html</span><br>
<span id="oauth2_request_uri">
oauth2.request_uri=<span id="request_uri_value">http://127.0.0.1:8081/request_object.json</span><br>
</span>
oauth2.client_scope=<span id="client_scope"><span class="client-scope-value">ReadAccountsBasic</span><br></span><br>
oauth2.jws_alg=<span id="client_jws_alg"></span><br>
oauth2.jwk_private_key=<span id="jwk_private_key">content of jwk key</span><br>
</span>
</div>
</div>
</div><!-- success -->
</div>
</div>