Added script to accessing token more efficient way
This commit is contained in:
parent
bdfed57942
commit
f0eae82d9f
11
README.md
11
README.md
@ -20,11 +20,22 @@ server.port=1285
|
|||||||
```
|
```
|
||||||
|
|
||||||
Następnym krokiem jest odpalenie poniższych komend w terminalu.
|
Następnym krokiem jest odpalenie poniższych komend w terminalu.
|
||||||
|
|
||||||
```
|
```
|
||||||
cd restservice
|
cd restservice
|
||||||
mvn spring-boot:run
|
mvn spring-boot:run
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Token
|
||||||
|
|
||||||
|
Żeby tesotwać API wpełni potrzebny nam jest token który otrzymujemy na podstawie ticketa z systemu autoryzacyjnego **CAS**. Z tego powodu system autoryzacji działa inaczej niż w "książkowych" restowych aplikacjach i np Postman za nas jej nie dokona. Musimy mu podać już uzyskany token. Aby łatwo go uzyskać odpal skrypt
|
||||||
|
|
||||||
|
```
|
||||||
|
python gettoken.py
|
||||||
|
```
|
||||||
|
|
||||||
|
Na koniec w przęglądarce dostaniesz w odpowiedzi token. W samym pliku można zmienić porty aplikacji jeśli to potrzebne.
|
||||||
|
|
||||||
## Packaging
|
## Packaging
|
||||||
|
|
||||||
Zeby spakowac apke do `jara` wystarcza dwie komendy zaczynajac z glownego katalogu projektu
|
Zeby spakowac apke do `jara` wystarcza dwie komendy zaczynajac z glownego katalogu projektu
|
||||||
|
@ -2,9 +2,11 @@ import webbrowser
|
|||||||
from http.server import BaseHTTPRequestHandler, HTTPServer, SimpleHTTPRequestHandler
|
from http.server import BaseHTTPRequestHandler, HTTPServer, SimpleHTTPRequestHandler
|
||||||
import urllib.parse as urlparse
|
import urllib.parse as urlparse
|
||||||
from urllib.parse import parse_qs
|
from urllib.parse import parse_qs
|
||||||
import pyperclip
|
|
||||||
import sys
|
import sys
|
||||||
# replace with your own http handlers
|
import requests as r
|
||||||
|
|
||||||
|
API_ADDRESS = "http://localhost:1285"
|
||||||
|
PORT = 3000
|
||||||
|
|
||||||
|
|
||||||
class S(BaseHTTPRequestHandler):
|
class S(BaseHTTPRequestHandler):
|
||||||
@ -17,19 +19,21 @@ class S(BaseHTTPRequestHandler):
|
|||||||
parsed = urlparse.urlparse(str(self.path))
|
parsed = urlparse.urlparse(str(self.path))
|
||||||
ticket = str(parse_qs(parsed.query)['ticket'][0])
|
ticket = str(parse_qs(parsed.query)['ticket'][0])
|
||||||
print(ticket)
|
print(ticket)
|
||||||
pyperclip.copy(ticket)
|
response = r.get(API_ADDRESS + "/token?ticket=" + ticket)
|
||||||
self._set_response()
|
self._set_response()
|
||||||
self.wfile.write("Token copied to clipboard".format().encode('utf-8'))
|
self.wfile.write("Your token: {}".format(
|
||||||
|
response.text).encode('utf-8'))
|
||||||
|
|
||||||
|
|
||||||
def wait_for_request(server_class=HTTPServer,
|
def wait_for_request(server_class=HTTPServer,
|
||||||
handler_class=S):
|
handler_class=S):
|
||||||
server_address = ('localhost', 3000)
|
server_address = ('localhost', PORT)
|
||||||
httpd = server_class(server_address, handler_class)
|
httpd = server_class(server_address, handler_class)
|
||||||
return httpd.handle_request()
|
return httpd.handle_request()
|
||||||
|
|
||||||
|
|
||||||
url = 'https://cas.amu.edu.pl/cas/login?service=http://localhost:3000&locale=pl'
|
url = 'https://cas.amu.edu.pl/cas/login?service=http://localhost:' + \
|
||||||
|
str(PORT) + '&locale=pl'
|
||||||
|
|
||||||
webbrowser.open_new_tab(url)
|
webbrowser.open_new_tab(url)
|
||||||
wait_for_request()
|
wait_for_request()
|
Loading…
Reference in New Issue
Block a user