Add an oauth authorization page

This commit is contained in:
Joseph Schorr 2014-03-14 18:57:28 -04:00
parent ab60a10a93
commit d469b41899
10 changed files with 287 additions and 41 deletions

View file

@ -47,22 +47,22 @@
<script src="//cdn.jsdelivr.net/g/bootbox@4.1.0,underscorejs@1.5.2,restangular@1.2.0"></script>
<!-- ,typeahead.js@0.10.1 -->
<script src="static/lib/loading-bar.js"></script>
<script src="static/lib/angular-strap.min.js"></script>
<script src="static/lib/angulartics.js"></script>
<script src="static/lib/angulartics-mixpanel.js"></script>
<script src="static/lib/angulartics-google-analytics.js"></script>
<script src="static/lib/angular-md5.js"></script>
<script src="static/lib/bindonce.min.js"></script>
<script src="static/lib/ansi2html.js"></script>
<script src="static/lib/typeahead.bundle.min.js"></script>
<script src="/static/lib/loading-bar.js"></script>
<script src="/static/lib/angular-strap.min.js"></script>
<script src="/static/lib/angulartics.js"></script>
<script src="/static/lib/angulartics-mixpanel.js"></script>
<script src="/static/lib/angulartics-google-analytics.js"></script>
<script src="/static/lib/angular-md5.js"></script>
<script src="/static/lib/bindonce.min.js"></script>
<script src="/static/lib/ansi2html.js"></script>
<script src="/static/lib/typeahead.bundle.min.js"></script>
<script src="static/lib/angular-moment.min.js"></script>
<script src="static/lib/angular-cookies.min.js"></script>
<script src="/static/lib/angular-moment.min.js"></script>
<script src="/static/lib/angular-cookies.min.js"></script>
<script src="static/lib/pagedown/Markdown.Converter.js"></script>
<script src="static/lib/pagedown/Markdown.Editor.js"></script>
<script src="static/lib/pagedown/Markdown.Sanitizer.js"></script>
<script src="/static/lib/pagedown/Markdown.Converter.js"></script>
<script src="/static/lib/pagedown/Markdown.Editor.js"></script>
<script src="/static/lib/pagedown/Markdown.Sanitizer.js"></script>
{% block added_dependencies %}
@ -73,10 +73,10 @@
window.__token = '{{ csrf_token() }}';
</script>
<script src="static/js/tour.js"></script>
<script src="static/js/app.js"></script>
<script src="static/js/controllers.js"></script>
<script src="static/js/graphing.js"></script>
<script src="/static/js/tour.js"></script>
<script src="/static/js/app.js"></script>
<script src="/static/js/controllers.js"></script>
<script src="/static/js/graphing.js"></script>
<!-- start Mixpanel --><script type="text/javascript">
var isProd = document.location.hostname === 'quay.io';

54
templates/oauthorize.html Normal file
View file

@ -0,0 +1,54 @@
{% extends "base.html" %}
{% block title %}
<title>Authorize {{ application.name }} · Quay.io</title>
{% endblock %}
{% block body_content %}
<div class="container auth-container">
<div class="auth-header">
<img src="//www.gravatar.com/avatar/{{ application.organization.gravatar }}?s=48&d=identicon">
<h2><a href="{{ application.url }}" target="_blank">{{ application.name }}</a></h2>
<h4>
{{ application.organization.name }}
</h4>
</div>
<div class="auth-scopes">
<div class="reason">This application would like permission to:</div>
<div class="panel-group">
{% for index, scope in enumerate(scopes) %}
<div class="scope panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
<div class="title-container">
<i class="fa {{ scope.icon }} fa-lg"></i>
<div class="title" data-toggle="collapse" data-parent="#scopeGroup" data-target="#description-{{ index }}">
<a data-toggle="collapse" href="#collapseOne">
{{ scope.title }}
</a>
</div>
</div>
</h4>
</div>
<div id="description-{{ index }}" class="panel-collapse collapse out">
<div class="panel-body">
{{ scope.description }}
</div>
</div>
</div>
{% endfor %}
</div>
</div>
<div class="button-bar">
<form method="post" action="/oauth/authorizeapp">
<input type="hidden" name="client_id" value="{{ client_id }}">
<input type="hidden" name="redirect_uri" value="{{ redirect_uri }}">
<input type="hidden" name="scope" value="{{ scope }}">
<input type="hidden" name="csrf" value="{{ csrf_token_val }}">
<button type="submit" class="btn btn-success">Authorize Application</button>
</form>
</div>
</div>
{% endblock %}