walnut.js/lib/com.daplie.walnut/views/authorization-dialog.html

78 lines
4.8 KiB
HTML
Raw Normal View History

<form method="POST" action="https://lds.io/api/oauth3/authorization_decision" class="js-hack-hidden-form">
<input type="hidden" name="access_token" ng-value="ADC.selectedAccount.token"/>
<input type="hidden" name="transaction_id" ng-value="ADC.transactionId"/>
<input type="hidden" name="accepted_scope" ng-value="ADC.acceptedString"/>
<input type="hidden" name="granted_scope" ng-value="ADC.grantedString"/>
<input type="hidden" name="pending_scope" ng-value="ADC.pendingString"/>
<input ng-if="ADC.cancelHack" type="hidden" name="cancel" ng-value="'true'"/>
<input type="hidden" name="selected_account_id" ng-value="ADC.selectedAccountId"/>
</form>
<div class="authorization-dialog">
<div class="authorization-card">
<div class="form-horizontal">
<div ng-if="ADC.error.message">
<div class="alert alert-danger">{{ ADC.error.message }}</div>
<div class="alert alert-danger">
<pre><code>{{ ADC.rawResponse | json }}</code></pre>
</div>
</div>
<div ng-if="ADC.invalids.length">
<div class="alert alert-danger"><span>The application provided invalid scope.</span>
<ul>
<li ng-repeat="invalid in ADC.invalids">
<pre><code>{{ invalid | json }}</code></pre>
</li>
</ul>
</div>
</div>
<div class="form-group mar0">
<div class="agents">
<div class="col-xs-6 agent"><img ng-src="{{ ADC.account.photo || 'images/avatar-64px.png' }}"/><span>{{ ADC.account.name || 'Fetching User...' }}</span></div>
<div class="col-xs-6 agent"><img ng-src="{{ ADC.client.logo || 'images/app-icon-64px.png' }}"/><span>{{ ADC.client.title || 'Fetching App...' }}</span></div>
</div>
<select ng-model="ADC.account" ng-options="acc as acc.name for acc in ADC.accounts" ng-change="ADC.chooseAccount(ADC.account)" ng-if="ADC.accounts.length &gt;= 2" class="form-control choose-account"></select>
<div ng-if="ADC.client">
<div ng-if="ADC.grantedScope.length || ADC.pendingScope.length">
<div class="permission-request">You'll love&#32;<span class="app-name">{{ ADC.client.title || "App Name" }}</span><br/>&#32; because it can help you...
<ul class="permission-list">
<div ng-repeat="scope in ADC.grantedScope" class="checkbox">
<label>
<input checked="checked" disabled="disabled" type="checkbox"/>{{ scope.desc || scope.name }}
</label>
</div>
<div ng-repeat="scope in ADC.pendingScope" class="checkbox">
<label>
<input ng-change="ADC.updateScope()" ng-model="scope.accepted" ng-disabled="scope.submitting || !scope.acceptable" type="checkbox"/>{{ scope.desc || scope.name }}
</label>
</div>
</ul>
</div>
</div>
<div ng-if="!ADC.requestedString.length &amp;&amp; !ADC.grantedString.length">
<div class="permission-request"><span>You can sign in to &#32;</span><span class="app-name">{{ ADC.client.title || "App Name" }}.</span><br/><span>No member data will be shared.</span></div>
</div>
</div>
<div ng-if="!ADC.client">
<div class="permission-request"><span>Checking Permissions...</span></div>
</div>
<div ng-if="ADC.iframe" class="col-xs-12">
<div class="alert alert-danger">
<p>To prevent click-jacking the user may not interact with the authorize dialog in an iFrame.</p>
<p>If you supply no scope, or the scope has already been granted, you will receive a token.</p>
<p>Otherwise the error callback will be called.</p>
</div>
</div>
<form ng-show="!ADC.iframe" class="form-group actions">
<button type="button" ng-click="ADC.hackFormSubmit({ allow: false })" ng-disabled="ADC.submitting || !ADC.account || !ADC.client || ADC.invalids.length || ADC.error" class="js-hack-reject btn btn-default">Reject</button>
<button type="button" ng-click="ADC.hackFormSubmit({ allow: true })" ng-disabled="ADC.submitting || !ADC.account || !ADC.client || ADC.invalids.length || ADC.error" class="js-hack-allow btn btn-primary">Yes, Allow</button>
</form>
<div><br/></div>
<div><br/></div>
<div><br/></div>
<div><small class="help-block"><span>* In accordance with the LDS.org Privacy Policy, apps may <strong>not</strong></span><span>&#32; store any member data. The data is delivered directly to your browser only.</span><br/><br/><span>If you believe an app is violating this policy, please report it to &#32;</span><a href="mailto:abuse@daplie.com">abuse@daplie.com</a><span>.</span></small></div>
</div>
</div>
</div>
</div>