Merge pull request #26 from TwilioDevEd/fix-token-generation
Fix token generation when identity is passed via POST
This commit is contained in:
26
app.py
26
app.py
@@ -54,8 +54,24 @@ def config():
|
|||||||
TWILIO_SYNC_SERVICE_SID=os.environ['TWILIO_SYNC_SERVICE_SID'],
|
TWILIO_SYNC_SERVICE_SID=os.environ['TWILIO_SYNC_SERVICE_SID'],
|
||||||
)
|
)
|
||||||
|
|
||||||
@app.route('/token', methods=['POST', 'GET'])
|
@app.route('/token', methods=['GET'])
|
||||||
def token(identity = None):
|
def randomToken():
|
||||||
|
return generateToken(fake.user_name())
|
||||||
|
|
||||||
|
|
||||||
|
@app.route('/token', methods=['POST'])
|
||||||
|
def createToken():
|
||||||
|
# Get the request json or form data
|
||||||
|
content = request.get_json() or request.form
|
||||||
|
# get the identity from the request, or make one up
|
||||||
|
identity = content.get('identity', fake.user_name())
|
||||||
|
return generateToken(identity)
|
||||||
|
|
||||||
|
@app.route('/token/<identity>', methods=['POST', 'GET'])
|
||||||
|
def token(identity):
|
||||||
|
return generateToken(identity)
|
||||||
|
|
||||||
|
def generateToken(identity):
|
||||||
# get credentials for environment variables
|
# get credentials for environment variables
|
||||||
account_sid = os.environ['TWILIO_ACCOUNT_SID']
|
account_sid = os.environ['TWILIO_ACCOUNT_SID']
|
||||||
api_key = os.environ['TWILIO_API_KEY']
|
api_key = os.environ['TWILIO_API_KEY']
|
||||||
@@ -63,9 +79,6 @@ def token(identity = None):
|
|||||||
sync_service_sid = os.environ['TWILIO_SYNC_SERVICE_SID']
|
sync_service_sid = os.environ['TWILIO_SYNC_SERVICE_SID']
|
||||||
chat_service_sid = os.environ['TWILIO_CHAT_SERVICE_SID']
|
chat_service_sid = os.environ['TWILIO_CHAT_SERVICE_SID']
|
||||||
|
|
||||||
# assign the provided identity or generate a new one
|
|
||||||
identity = identity or fake.user_name()
|
|
||||||
|
|
||||||
# Create access token with credentials
|
# Create access token with credentials
|
||||||
token = AccessToken(account_sid, api_key, api_secret, identity=identity)
|
token = AccessToken(account_sid, api_key, api_secret, identity=identity)
|
||||||
|
|
||||||
@@ -86,6 +99,9 @@ def token(identity = None):
|
|||||||
# Return token info as JSON
|
# Return token info as JSON
|
||||||
return jsonify(identity=identity, token=token.to_jwt().decode('utf-8'))
|
return jsonify(identity=identity, token=token.to_jwt().decode('utf-8'))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Notify - create a device binding from a POST HTTP request
|
# Notify - create a device binding from a POST HTTP request
|
||||||
@app.route('/register', methods=['POST'])
|
@app.route('/register', methods=['POST'])
|
||||||
def register():
|
def register():
|
||||||
|
|||||||
Reference in New Issue
Block a user