Esempio n. 1
0
def signin(request):
    entity_form = EntityForm()
    if request.method == 'POST':
        entity_form = EntityForm(request.POST)

        if entity_form.is_valid():
            entity = entity_form.cleaned_data['entity']
            state = state_parameter()
            app_exists = StoredApp.objects.filter(entity_url=entity)

            if len(app_exists) == 1:
                stored_app = app_exists[0]
                app = stored_app.restore_app(request)
                gohere = app.authorization_request().history[0].url
                stored_app.state = state
                stored_app.save()

            else:
                app_post = AppPost('DRUID App',
                                   write=[u'https://posttypes.housejeffries.com/review/v0#'],
                                   url=settings.SITE_URL,
                                   redirect_url=settings.SITE_URL + '/oauth')
                app = TentApp(entity_form.cleaned_data['entity'], app_post)
                gohere = app.start_setup()
                stored_app = StoredApp()
                stored_app.create(app)
                stored_app.state = state
                stored_app.save()

            return redirect(gohere + '&state=' + state)

    ldr = loader.get_template('sign_in.html')
    context = RequestContext(request, {'request': request,
                                       'entity_form': entity_form})
    return HttpResponse(ldr.render(context))
Esempio n. 2
0
    def restore_app(self, request=None):

        # NOTE this isn't quite right because we're not restoring the app post.
        app = TentApp(self.entity_url, '')

        app.meta_post              = json.loads(self.meta_post)
        app.reg_attachment         = json.loads(self.reg_attachment)
        app.credentials_attachment = json.loads(self.credentials_attachment)
        app.app_id                 = self.app_id
        app.id_value               = self.id_value

        if request is not None and 'hawk_key' in request.session:
            app.hawk_key = request.session['hawk_key']

        return app