<div dir="ltr"><br><div class="gmail_quote"><div dir="ltr"><div><div class="m_1383948661493212305gmail-"><div class="m_1383948661493212305gmail-_1mf m_1383948661493212305gmail-_1mj"><span><span>Čaute, kamarád Filip Navara z firmy emclient nabízí jednorázovou práci s případnou další spoluprácí:</span></span></div></div><div class="m_1383948661493212305gmail-"><div class="m_1383948661493212305gmail-_1mf m_1383948661493212305gmail-_1mj"><span><br></span></div></div><div class="m_1383948661493212305gmail-"><div class="m_1383948661493212305gmail-_1mf m_1383948661493212305gmail-_1mj"><span><span>"Ahoj,<br>hledame nekoho na malou vypomoc s mini-projektem v Pythonu, cena by byla dohodou, odhadem jde tak o tri vecery prace.</span></span></div></div><div class="m_1383948661493212305gmail-"><div class="m_1383948661493212305gmail-_1mf m_1383948661493212305gmail-_1mj"><span><br></span></div></div><div class="m_1383948661493212305gmail-"><div class="m_1383948661493212305gmail-_1mf m_1383948661493212305gmail-_1mj"><span><span>Mame na jednom serveru rozjety system na trackovani bugu Sentry (<a href="https://sentry.io/" target="_blank">https://sentry.io/</a>). Je to open source, ktery je napsany v Pythonu a pomerne aktivne vyvijeny, viz <a href="https://github.com/getsentry/sentry" target="_blank">https://github.com/getsentry/<wbr>sentry</a>. Jedna z moznosti, kterou umi, je prihlasovani pomoci third-party provideru, napr. GitHubu (<a href="https://github.com/getsentry/sentry-auth-github" target="_blank">https://github.com/getsentry/<wbr>sentry-auth-github</a>) nebo G Suite / Google Apps (<a href="https://github.com/getsentry/sentry-auth-google" target="_blank">https://github.com/getsentry/<wbr>sentry-auth-google</a>). Obe tyhle authentikace probihaji pres standardni OAuth 2.0 flow, kde se redirectnes na stranku GitHubu/Googlu, tam se nalogujes a odsouhlasis prava, redirectne te to zpatky s nejakym autorizacnim kodem a ten pak posles pres HTTP request na nejaky "token endpoint" a dostanes z nej access token. Pak to periodicky (rekneme jednou za den) na ten "token endpoint" vola s tim access tokenem, aby se overilo, ze ten uzivatel porad ma ty prava a nekdo je nerevoknul.</span></span></div></div><div class="m_1383948661493212305gmail-"><div class="m_1383948661493212305gmail-_1mf m_1383948661493212305gmail-_1mj"><span><br></span></div></div><div class="m_1383948661493212305gmail-"><div class="m_1383948661493212305gmail-_1mf m_1383948661493212305gmail-_1mj"><span><span>Na druhem serveru mame rozjety nas licensing server, ktery ma mimo jine databazi uzivatelu vcetne vyvojoveho tymu. Je na nem rozbehnuty urcity subset OAuth 2.0 (<a href="https://tools.ietf.org/html/rfc6749" target="_blank">https://tools.ietf.org/html/<wbr>rfc6749</a>), specificky sekce 4.3.2., kde se da poslat username a login a dostanes zpatky access nebo refresh token. A ten jde opet pres stejny endpoint overovat/refreshovat. Proste je to OAuth bez te flow s autorizacnim kodem a potvrzovanim prav. Vzhledem k tomu, ze oba servery jsou trusted a pod nasi kontrolou, tak je nam jedno, ze se i ten Sentry na chvili dostane ke jmenu+heslu.</span></span></div></div><div class="m_1383948661493212305gmail-"><div class="m_1383948661493212305gmail-_1mf m_1383948661493212305gmail-_1mj"><span><br></span></div></div><div class="m_1383948661493212305gmail-"><div class="m_1383948661493212305gmail-_1mf m_1383948661493212305gmail-_1mj"><span><span>A ted potrebujeme napsat authentikacni provider ve stylu toho vyse zmineneho GitHubu/Googlu, popr. lze jeste cerpat z <a href="https://github.com/getsentry/sentry/blob/master/src/sentry/auth/providers/dummy.py" target="_blank">https://github.com/getsentry/<wbr>sentry/blob/master/src/sentry/<wbr>auth/providers/dummy.py</a>, ktery ukaze nejaky trivialni interface na jmeno/heslo a pak posle vyse zmineny OAuth request s grant_type=password na nas druhy server a z nej dostane access token. Ve vsem ostatnim se to bude chovat jako ty GitHub/Google provideri.Nejvic casu nejspis zabere si nekde rozjet ten Sentry v nejakem vyvojovem prostredi s Pythonem+PostgreSQL.</span></span></div></div><div class="m_1383948661493212305gmail-"><div class="m_1383948661493212305gmail-_1mf m_1383948661493212305gmail-_1mj"><span><br></span></div></div><div class="m_1383948661493212305gmail-"><div class="m_1383948661493212305gmail-_1mf m_1383948661493212305gmail-_1mj"><span><span>V dokumentaci je ta instalace pomerne rozumne popsana, ale muze to byt casove narocne. Pripadne mohu poskytnout pristupy na nas ostry Sentry server, OAuth server a testovaci loginy, ale jedna se o nasazeni v Azure s Dockerem a tudiz pro vyvoj to neni uplne idealni. Dale bychom meli pak zajem o nejake dalsi upravy Sentry samotneho, ktere by mely byt relativne male zasahy, ale nikdo se do nich nepoustel prave kvuli slozitemu nastavovani prostredi pro vyvoj."</span></span></div></div><div class="m_1383948661493212305gmail-"><div class="m_1383948661493212305gmail-_1mf m_1383948661493212305gmail-_1mj"><span><br></span></div></div><div class="m_1383948661493212305gmail-"><div class="m_1383948661493212305gmail-_1mf m_1383948661493212305gmail-_1mj"><b><span><span>kontakt: <a href="mailto:navara@emclient.com" target="_blank">navara@emclient.com</a></span></span></b></div></div></div></div>
<br></div><br></div>