Несколько дней назад, когда вышла первая бета persona, я подумал, что было бы неплохо использовать этот механизм аутентификации для моего следующего проекта. По поводу pyramid документация persona отсылает к записи в блоге под названием: Painless Authentication with Pyramid and BrowserID, которая описывает как использовать pyramid_whoauth с repoze.who.plugins.browserid для использования persona в pyramid.
К сожалению, этот метод всего лишь предоставляет 403-ю страницу с кнопкой входа и нет никакого очевидного способа разместить эту кнопку где-то ещё. Быстрый взгляд на исходники показывает, что сделать это не так уж и просто, так как большая часть работы выполняется в пределах wsgi приложения. Чтобы получить кнопку для входа мне бы пришлось переписать javascript, который взаимодействует с persona api, и, возможно, большую часть кода для входа для сохранения csrf верификации.
Так что вместо того, чтобы переписывать половину и пытаться работать с существующей реализацией, я решил написать код с нуля и, как мне кажется, неплохо было бы сделать это в виде библиотеки. Я назвал его pyramid_persona и он доступен на pypi. README объясняет как его использовать, но тут я хотел бы привести более наглядную демонстрацию.