Add authorization code model
Sure up domain constraints